Closed chenyu468 closed 8 years ago
Can you share your WSDL/XSD privately or post a cut down version which demonstrates the problem please?
<?xml version="1.0" ?>
<wsdl:definitions name="opacService" targetNamespace="urn:opacService"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="urn:opacService"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
</wsdl:types>
<wsdl:message name="getLibSysCodeRequest">
<wsdl:part name="code" type="xsd:string" />
</wsdl:message>
<wsdl:message name="getLibSysCodeResponse">
<wsdl:part name="getLibSysCode" type="xsd:string" />
</wsdl:message>
<wsdl:portType name="opacServicePort">
<wsdl:operation name="getLibSysCode">
<wsdl:input message="tns:getLibSysCodeRequest" />
<wsdl:output message="tns:getLibSysCodeResponse" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="opacServiceBinding" type="tns:opacServicePort">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="getLibSysCode">
<soap:operation soapAction="urn:opacService#opac#getLibSysCode" />
<wsdl:input><soap:body use="encoded" namespace="urn:opacService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</wsdl:input>
<wsdl:output>
<soap:body use="encoded" namespace="urn:opacService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="opacService">
<wsdl:documentation />
<wsdl:port name="opacServicePort" binding="tns:opacServiceBinding">
<soap:address location="http://33.33.33.33:33/webservice/service.php" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
I tried to modify the soap_parse_wsdl.erl,
case Element of
undefined ->
The "rpc" binding style is currently not properly supported.
I'll try to fix it, but I think it will not be a trivial task. It will probably take some time to get this work done.
After taking a closer look at the complete WSDL example that was provided I noticed that this WSDL uses the "rpc/encoded" style. This style is not supported, since it is not part of WS-I basic profile.
Even if I manage to make the rpc style work, it will only be in combination with the "literal" encoding style (rpc/literal, which is part of WS-I basic profile). So this particular WSDL will still not be acceptable.
@chenyu468 Please see if the latest changes in #6 help you by changing the WSDL style to rpc/literal. If not, there is not much we can do I'm afraid.
For example,
LocalPart = erlsom_lib:localName(Element), <---- throw here.
I have changed soap_parse_wsdl.erl as follows, still have error.