I'd have to see the wsdl to really determine what is going on, but I think the "working" message is definitely wrong. According to the soap spec, all children of the soap:body need to be qualified elements.

That said, this also looks to be a "doc/lit bare" style service which is not WSI-Basic Profile compliant. While not really an issue for CXF (in theory), it could cause interoperability problems.

Dan



On Jun 19, 2008, at 7:17 AM, _Eric_ wrote:


Hello forum,

with Spring and CXF I made a webservice. I made a WSDL with an imported XSD containing the types to generate the client and the server side. But the server side does not exept the messages generated by the client and throws
the following message:

org.apache.cxf.interceptor.Fault: Message part
{http://mycompany.de//myService}appId was not recognized. (Does it exist in
service WSDL?)         at
org .apache .cxf .interceptor .DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java: 179)
at
org .apache .cxf .phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java: 221)
at
org .apache .cxf .transport .ChainInitiationObserver.onMessage(ChainInitiationObserver.java:78)
at
org .apache .cxf .transport.servlet.ServletDestination.invoke(ServletDestination.java: 92)
at
org .apache .cxf .transport .servlet.ServletController.invokeDestination(ServletController.java: 214)
at
org .apache .cxf .transport.servlet.ServletController.invoke(ServletController.java: 151)
at
org .apache .cxf .transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java: 170)
at
org .apache .cxf .transport.servlet.AbstractCXFServlet.doPost(AbstractCXFServlet.java: 148) at javax.servlet.http.HttpServlet.service(HttpServlet.java: 710) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org .apache .catalina .core .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: 290)
at
org .apache .catalina .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org .apache .catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java: 230)
at
org .apache .catalina.core.StandardContextValve.invoke(StandardContextValve.java: 175)
at
org .apache .catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at
org .apache .catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at
org .apache .catalina.core.StandardEngineValve.invoke(StandardEngineValve.java: 109)
at
org .apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java: 261)
at
org .apache.coyote.http11.Http11Processor.process(Http11Processor.java: 844)
at
org.apache.coyote.http11.Http11Protocol $Http11ConnectionHandler.process(Http11Protocol.java:581) at org.apache.tomcat.util.net.JIoEndpoint $Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)

The message that does not work is:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>
        <soap:Body>
                <ns2:appId xmlns:ns2="http://mycompany.de//myService";
xmlns="http://mycompany//myData";>12</ns2:appId>
        </soap:Body>
</soap:Envelope>

The message that works fine generated by soapUI from the WSDL:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/ ">
  <soapenv:Header/>
  <soapenv:Body>
     <appId>12</appId>
  </soapenv:Body>
</soapenv:Envelope>

I my opinion both version are correct.
http://www.nabble.com/How-to-change-the-namespace-position-in-the-generate-xml-message-(SOAP-message)--to16176819.html#a16195360
This posting explanes a similar problem. But I guess this is to solve on
the server side.
Can anybody give a hint?

Greetings Eric

PS: CXF 2.1, Spring 2.0.8

--
View this message in context: 
http://www.nabble.com/namespace-and-%22Message-part-was-not-recognized%22-tp18005778p18005778.html
Sent from the cxf-user mailing list archive at Nabble.com.


---
Daniel Kulp
[EMAIL PROTECTED]
http://www.dankulp.com/blog




Reply via email to