Endpoint does not contain operation meta data for: getAccoun
maffewl Jun 19, 2007 3:48 PMI want to try and test the backwards compatibility of a webservice I upgraded from Axis to JBossWS.
Up to this point I have consumed the old wsdl w/ wsconsume and have the service deployed in Jboss 4.2.0.GA. I sent in the old xml and it hits the endpoint but i get the following message:
[org.jboss.ws.core.jaxws.SOAPFaultHelperJAXWS] SOAP request exception
javax.xml.rpc.soap.SOAPFaultException: Endpoint {http://xxxxx/account}accountServicePort does not contain operation meta data for: getAccount
here is the request I am sending that works in our old environment (axis/jboss.net) but fails in the new environment:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:m0="http://xxxxx/account"> <SOAP-ENV:Body> <getAccount> ... </getAccount> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
just for kicks I changed the getAccount tags to :
<m0:getAccount> ... </m0:getAccount>
as defined in the envelope, and i got a different error
[org.jboss.ws.core.jaxws.SOAPFaultHelperJAXWS] SOAP request exception
org.jboss.ws.WSException: Cannot find child element: {http://xxxxx/type}getAccount
which seems to me that it it does find the 'getAccount'.
but the reality is, i cant really change the request. I have to try and upgrade transparently.
heres a portion of the deployed wsdl on the service if it helps
<definitions name='AccountService' targetNamespace='http://xxxxx/account' xmlns='http://schemas.xmlsoap.org/wsdl/' xmlns:ns1='http://xxx/type' xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' xmlns:tns='http://xxxxx/account' xmlns:xsd='http://www.w3.org/2001/XMLSchema'> <types> <xs:schema elementFormDefault='qualified' targetNamespace='http://xxxxx/type' version='1.0' xmlns:tns='http://xxxxx/type' xmlns:xs='http://www.w3.org/2001/XMLSchema'> ... <xs:element name='getAccount'> <xs:complexType> <xs:sequence> ... </xs:sequence> </xs:complexType> </xs:element> </xs:schema> </types> ... <message name='accountService_getAccount'> <part element='ns1:getAccount' name='getAccount'></part> </message> ... <portType name='accountService'> ... <operation name='getAccount' parameterOrder='getAccount'> <input message='tns:accountService_getAccount'></input> <output message='tns:accountService_getAccountResponse'></output> </operation> ... </portType> <binding name='accountServiceBinding' type='tns:accountService'> <soap:binding style='document' transport='http://schemas.xmlsoap.org/soap/http'/> ... <operation name='getAccount'> <soap:operation soapAction='urn:#GetAccount'/> <input> <soap:body use='literal'/> </input> <output> <soap:body use='literal'/> </output> </operation> ... </binding> <service name='accountService'> <port binding='tns:accountServiceBinding' name='accountServicePort'> <soap:address location='http://xxxxxxxx:8080/accountService'/> </port> </service> </definitions>
thanks
matt