I have the WSDL (at the end of this message). I think there's a WSDL2Java bug: when I
invoke the "Ciao" operation, my ActiveBPEL server (with its Axis server)
returns me an error:
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
faultSubcode:
faultString: Missing parameter for service request: doc
the problem is in this SOAP message (sent from client):
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<ns1:ciao soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns1="http://Ciao">
<ns1:documento href="#id0"/>
<key xsi:type="xsd:string">ciao</key>
</ns1:ciao>
<multiRef id="id0" soapenc:root="0"
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">D1</multiRef>
</soapenv:Body>
</soapenv:Envelope>
as you see, the tag "<ns1:documento href="#id0"/>" is wrong: it should be "<ns1:doc
... />"
WSDL is following:
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="Ciao" targetNamespace="http://Ciao" xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
xmlns:tns="http://Ciao" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<types>
<schema targetNamespace="http://Ciao"
xmlns="http://www.w3.org/2001/XMLSchema">
<element name="documento">
<simpleType>
<restriction base="string">
<enumeration value="D1"/>
<enumeration value="D2"/>
</restriction>
</simpleType>
</element>
</schema>
</types>
<message name="CiaoOUTMsg">
<part name="key" type="xsd:string"/>
<part name="protN" type="xsd:string"/>
</message>
<message name="CiaoINMsg">
<part element="tns:documento" name="doc"/>
<part name="key" type="xsd:string"/>
</message>
<portType name="Ciao_PT">
<operation name="ciao">
<input message="tns:CiaoINMsg"/>
<output message="tns:CiaoOUTMsg"/>
</operation>
</portType>
<binding name="Ciao_PLTServiceBinding" type="tns:Ciao_PT">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/>
<operation name="ciao">
<soap:operation soapAction="" style="rpc"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/>
<input>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/>
</input>
<output>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/>
</output>
</operation>
</binding>
<service name="Ciao_PLTService">
<port binding="tns:Ciao_PLTServiceBinding" name="Ciao_PLTServicePort">
<soap:address location="http://localhost:8080/active-bpel/services/Ciao_PLTService"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/>
</port>
</service>
</definitions>