Я создал веб-сервис Nusoap на PHP.
Когда я генерирую wsdl в Jdeveloper 12C для MAF (Mobile Application Framewor), я получаю эту ошибку:
reference SOAP-ENC:Array not found
reference SOAP-ENC:arrayType not found
и я не могу получить данные из WS (arrayList)
Сгенерировано Myservice_wsdl.wsdl:
<?xml version='1.0' encoding='UTF-8'?>
<definitions xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="urn:Myservice_wsdl" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="urn:Myservice_wsdl">
<types>
<xsd:schema targetNamespace="urn:Myservice_wsdl">
<xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
<xsd:import namespace="http://schemas.xmlsoap.org/wsdl/"/>
<xsd:complexType name="Notifications">
<xsd:all>
<xsd:element name="photo" type="xsd:string"/>
<xsd:element name="titre" type="xsd:string"/>
<xsd:element name="dateHeure" type="xsd:date"/>
<xsd:element name="detail" type="xsd:string"/>
<xsd:element name="code" type="xsd:int"/>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="notificationArray">
<xsd:complexContent>
<xsd:restriction base="SOAP-ENC:Array">
<xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="tns:Notifications[]"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
</xsd:schema>
</types>
<message name="loginRequest">
<part name="user" type="xsd:string"/>
<part name="mdp" type="xsd:string"/>
<part name="registration_id" type="xsd:string"/>
</message>
<message name="loginResponse">
<part name="return" type="xsd:integer"/>
</message>
<message name="getNotificationByStatusRequest">
<part name="st" type="xsd:integer"/>
<part name="gcm_regId" type="xsd:string"/>
<part name="user" type="xsd:string"/>
<part name="mdp" type="xsd:string"/>
</message>
<message name="getNotificationByStatusResponse"/>
<message name="getHistoriqueNotificationRequest">
<part name="user" type="xsd:string"/>
<part name="mdp" type="xsd:string"/>
</message>
<message name="getHistoriqueNotificationResponse">
<part name="result" type="tns:notificationArray"/>
</message>
<message name="disconnectRequest"/>
<message name="disconnectResponse"/>
<message name="salutRequest">
<part name="arg" type="xsd:string"/>
</message>
<message name="salutResponse">
<part name="return" type="xsd:string"/>
</message>
<portType name="Myservice_wsdlPortType">
<operation name="login">
<documentation/>
<input message="tns:loginRequest"/>
<output message="tns:loginResponse"/>
</operation>
<operation name="getNotificationByStatus">
<documentation/>
<input message="tns:getNotificationByStatusRequest"/>
<output message="tns:getNotificationByStatusResponse"/>
</operation>
<operation name="getHistoriqueNotification">
<documentation/>
<input message="tns:getHistoriqueNotificationRequest"/>
<output message="tns:getHistoriqueNotificationResponse"/>
</operation>
<operation name="disconnect">
<documentation/>
<input message="tns:disconnectRequest"/>
<output message="tns:disconnectResponse"/>
</operation>
<operation name="salut">
<documentation/>
<input message="tns:salutRequest"/>
<output message="tns:salutResponse"/>
</operation>
</portType>
<binding name="Myservice_wsdlBinding" type="tns:Myservice_wsdlPortType">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="login">
<soap:operation style="rpc" soapAction="urn:MyService_wsdl#login"/>
<input>
<soap:body use="literal" namespace="urn:MyService_wsdl"/>
</input>
<output>
<soap:body use="literal" namespace="urn:MyService_wsdl"/>
</output>
</operation>
<operation name="getNotificationByStatus">
<soap:operation style="rpc" soapAction="urn:MyService_wsdl#getNotificationByStatus"/>
<input>
<soap:body use="literal" namespace="urn:MyService_wsdl"/>
</input>
<output>
<soap:body use="literal" namespace="urn:MyService_wsdl"/>
</output>
</operation>
<operation name="getHistoriqueNotification">
<soap:operation style="rpc" soapAction="urn:MyService_wsdl#getHistoriqueNotification"/>
<input>
<soap:body use="literal" namespace="urn:MyService_wsdl"/>
</input>
<output>
<soap:body use="literal" namespace="urn:MyService_wsdl"/>
</output>
</operation>
<operation name="disconnect">
<soap:operation style="rpc" soapAction="urnMyService_wsdl#disconnect"/>
<input>
<soap:body use="literal" namespace="urn:MyService_wsdl"/>
</input>
<output>
<soap:body use="literal" namespace="urn:MyService_wsdl"/>
</output>
</operation>
<operation name="salut">
<soap:operation style="rpc" soapAction="urn:MyService_wsdl#salut"/>
<input>
<soap:body use="literal" namespace="urn:MyService_wsdl"/>
</input>
<output>
<soap:body use="literal" namespace="urn:MyService_wsdl"/>
</output>
</operation>
</binding>
<service name="Myservice_wsdl">
<port name="Myservice_wsdlPort" binding="tns:Myservice_wsdlBinding">
<soap:address location="http://localhost:7101/MyPGI_MAF-ViewController-context-root/CCSOAPService"/>
</port>
</service>
</definitions>
Задача ещё не решена.
Других решений пока нет …