Hi, I have a problem when I try to call a WebService with Apache CXF. The wsdl2java generation works just fine and sending the request also works ok. But when the answer is parsed and Exception is thrown. I am using CXF version 2.6.1.
The WSDL can be found here: http://webservice.broadcloudmeeting.com/perl/ilinc/api/webservice/ilinc-api.pl?ADMIN-WSDL Request: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns1:VerifyClientSubdomain xmlns:ns1="urn:iLincAPI"> <Authorization xmlns:ns2="urn:iLincAPI"> <ns2:APIVersion>[removed]</ns2:APIVersion> <ns2:ClientID>[removed]</ns2:ClientID> <ns2:AuthorizedUserName>[removed]</ns2:AuthorizedUserName> <ns2:AuthorizedPassword>[removed]</ns2:AuthorizedPassword> </Authorization> <parameters xmlns:ns2="urn:iLincAPI"> <ns2:Subdomain>[removed]</ns2:Subdomain> </parameters> </ns1:VerifyClientSubdomain> </soap:Body> </soap:Envelope> Response: <?xml version="1.0" encoding="UTF-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <VerifyClientSubdomainResponse xmlns="urn:iLincAPI"> <return> <ErrorID xsi:type="xsd:int">0</ErrorID> <DomainExists xsi:type="xsd:string">[removed]</DomainExists> <ErrorStr xsi:type="xsd:string" /> <Reference xsi:nil="true" /> </return> </VerifyClientSubdomainResponse> </soap:Body> </soap:Envelope> Exception: org.apache.cxf.interceptor.Fault: Found element {urn:iLincAPI}return but could not find matching RPC/Literal part at org.apache.cxf.binding.soap.interceptor.RPCInInterceptor.handleMessage(RPCInInterceptor.java:171) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236) at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:658) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2139) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2022) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1947) at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66) at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:632) at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:472) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:302) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:254) at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73) at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:123) at $Proxy39.verifyClientSubdomain(Unknown Source) at Test.test(Test.java:21) Googling for the error seems to indicate that the WebService is not WS-I Basic Profile compliant but I don't exactly get why. Is there and way I can make this work? The problem is I have no influence on the server side so I can't do anything about how the response looks like. Any suggestions? Thanks a lot
