You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Christopher Moesel <Ch...@avid.com> on 2007/04/17 19:18:02 UTC

.NET 2.0 / WSE 3.0 w/ MTOM Interop Error

Hello,

When I send a message to my CXF service using a .NET 2.0 client that is
using WSE 3.0 to enable MTOM capability, I get a server-side stack
trace.  It appears it wrongly interprets the content type as: utf-8"
(note the quotation mark).

I've pasted the stack trace as well as the contents of the post (from
tcpmon with proprietary details replaced) below.  Anyone else seen any
problems like this?

STACKTRACE
==========
Apr 17, 2007 1:01:53 PM org.apache.cxf.phase.PhaseInterceptorChain
doIntercept
INFO: Interceptor has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Could not create XMLStreamReader.
        at
org.apache.cxf.interceptor.StaxInInterceptor.handleMessage(StaxInInterce
ptor.java:67)
        at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorC
hain.java:159)
        at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiati
onObserver.java:63)
        at
org.apache.cxf.transport.servlet.ServletDestination.doMessage(ServletDes
tination.java:110)
        at
org.apache.cxf.transport.servlet.ServletController.invokeDestination(Ser
vletController.java:156)
        at
org.apache.cxf.transport.servlet.ServletController.invoke(ServletControl
ler.java:99)
        at
org.apache.cxf.transport.servlet.CXFServlet.invoke(CXFServlet.java:257)
        at
org.apache.cxf.transport.servlet.CXFServlet.doPost(CXFServlet.java:235)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:491)
        at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:367)
        at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:1
85)
        at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
        at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:689)
        at
org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:391)
        at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandler
Collection.java:146)
        at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.jav
a:114)
        at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
        at org.mortbay.jetty.Server.handle(Server.java:285)
        at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457)
        at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.j
ava:765)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:628)
        at
org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:203)
        at
org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)
        at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:
329)
        at
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.ja
va:475)
Caused by: javax.xml.stream.XMLStreamException: [unsupported encoding]:
java.io.UnsupportedEncodingException: utf-8"
        at
com.ctc.wstx.io.DefaultInputResolver.constructOptimizedReader(DefaultInp
utResolver.java:195)
        at
com.ctc.wstx.stax.WstxInputFactory.createSR(WstxInputFactory.java:628)
        at
com.ctc.wstx.stax.WstxInputFactory.createXMLStreamReader(WstxInputFactor
y.java:324)
        at
org.apache.cxf.interceptor.StaxInInterceptor.handleMessage(StaxInInterce
ptor.java:65)
        ... 26 more

MESSAGE (SCRUBBED)
===================
POST /myapp/services/MyService HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client
Protocol 2.0.50727.42)
VsDebuggerCausalityData:
uIDPo+K7rYKoy7pKtUqs8LYcsoEAAAAAeNkp1mc+skCm8ceriWhey1rzgMowxbpAgcfg+mU4
k/kACAAA
SOAPAction: ""
Host: localhost:8081
Content-Type: multipart/related; type="application/xop+xml";
boundary=--MIMEBoundary633124089286669583;
start="<0....@example.org>"; start-info="text/xml;
charset=utf-8"
Content-Length: 1590
Expect: 100-continue
Connection: Keep-Alive


----MIMEBoundary633124089286669583
content-id: <0....@example.org>
content-type: application/xop+xml; charset=utf-8; type="text/xml;
charset=utf-8"
content-transfer-encoding: binary

<soap:Envelope xmlns:xop="http://www.w3.org/2004/08/xop/include"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wsse
curity-secext-1.0.xsd"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssec
urity-utility-1.0.xsd"><soap:Header><UserCredentials
xmlns="http://mycompany.com/myservice/types"><Username>jkdjk</Username><
Password>jkdjkd</Password></UserCredentials><wsa:Action></wsa:Action><ws
a:MessageID>urn:uuid:0e051f42-f9bd-4ed4-a1b3-9c96828e3dc9</wsa:MessageID
><wsa:ReplyTo><wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/address
ing/role/anonymous</wsa:Address></wsa:ReplyTo><wsa:To>http://localhost:8
081/myapp/services/MyService</wsa:To><wsse:Security><wsu:Timestamp
wsu:Id="Timestamp-f89e51cc-463e-42c0-8e1d-d7baefdce4e7"><wsu:Created>200
7-04-17T16:15:28Z</wsu:Created><wsu:Expires>2007-04-17T16:20:28Z</wsu:Ex
pires></wsu:Timestamp></wsse:Security></soap:Header><soap:Body><MyOperat
ion xmlns="http://mycompany.com/myservice/types
"><param1kjdjkd</param1></MyOperation></soap:Body></soap:Envelope>
----MIMEBoundary633124089286669583--


Re: .NET 2.0 / WSE 3.0 w/ MTOM Interop Error

Posted by Dan Diephouse <da...@envoisolutions.com>.
OK, I see the issue. I'll put in a fix for this today. Thanks,
- Dan

On 4/17/07, Christopher Moesel <Ch...@avid.com> wrote:
>
> Hello,
>
> When I send a message to my CXF service using a .NET 2.0 client that is
> using WSE 3.0 to enable MTOM capability, I get a server-side stack
> trace.  It appears it wrongly interprets the content type as: utf-8"
> (note the quotation mark).
>
> I've pasted the stack trace as well as the contents of the post (from
> tcpmon with proprietary details replaced) below.  Anyone else seen any
> problems like this?
>
> STACKTRACE
> ==========
> Apr 17, 2007 1:01:53 PM org.apache.cxf.phase.PhaseInterceptorChain
> doIntercept
> INFO: Interceptor has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: Could not create XMLStreamReader.
>         at
> org.apache.cxf.interceptor.StaxInInterceptor.handleMessage(StaxInInterce
> ptor.java:67)
>         at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorC
> hain.java:159)
>         at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiati
> onObserver.java:63)
>         at
> org.apache.cxf.transport.servlet.ServletDestination.doMessage(ServletDes
> tination.java:110)
>         at
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(Ser
> vletController.java:156)
>         at
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletControl
> ler.java:99)
>         at
> org.apache.cxf.transport.servlet.CXFServlet.invoke(CXFServlet.java:257)
>         at
> org.apache.cxf.transport.servlet.CXFServlet.doPost(CXFServlet.java:235)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>         at
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:491)
>         at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:367)
>         at
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:1
> 85)
>         at
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
>         at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:689)
>         at
> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:391)
>         at
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandler
> Collection.java:146)
>         at
> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.jav
> a:114)
>         at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
>         at org.mortbay.jetty.Server.handle(Server.java:285)
>         at
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457)
>         at
> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.j
> ava:765)
>         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:628)
>         at
> org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:203)
>         at
> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)
>         at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:
> 329)
>         at
> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.ja
> va:475)
> Caused by: javax.xml.stream.XMLStreamException: [unsupported encoding]:
> java.io.UnsupportedEncodingException: utf-8"
>         at
> com.ctc.wstx.io.DefaultInputResolver.constructOptimizedReader(DefaultInp
> utResolver.java:195)
>         at
> com.ctc.wstx.stax.WstxInputFactory.createSR(WstxInputFactory.java:628)
>         at
> com.ctc.wstx.stax.WstxInputFactory.createXMLStreamReader(WstxInputFactor
> y.java:324)
>         at
> org.apache.cxf.interceptor.StaxInInterceptor.handleMessage(StaxInInterce
> ptor.java:65)
>         ... 26 more
>
> MESSAGE (SCRUBBED)
> ===================
> POST /myapp/services/MyService HTTP/1.1
> User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client
> Protocol 2.0.50727.42)
> VsDebuggerCausalityData:
> uIDPo+K7rYKoy7pKtUqs8LYcsoEAAAAAeNkp1mc+skCm8ceriWhey1rzgMowxbpAgcfg+mU4
> k/kACAAA
> SOAPAction: ""
> Host: localhost:8081
> Content-Type: multipart/related; type="application/xop+xml";
> boundary=--MIMEBoundary633124089286669583;
> start="<0....@example.org>"; start-info="text/xml;
> charset=utf-8"
> Content-Length: 1590
> Expect: 100-continue
> Connection: Keep-Alive
>
>
> ----MIMEBoundary633124089286669583
> content-id: <0....@example.org>
> content-type: application/xop+xml; charset=utf-8; type="text/xml;
> charset=utf-8"
> content-transfer-encoding: binary
>
> <soap:Envelope xmlns:xop="http://www.w3.org/2004/08/xop/include"
> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wsse
> curity-secext-1.0.xsd"
> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssec
> urity-utility-1.0.xsd"><soap:Header><UserCredentials
> xmlns="http://mycompany.com/myservice/types"><Username>jkdjk</Username><
> Password>jkdjkd</Password></UserCredentials><wsa:Action></wsa:Action><ws
> a:MessageID>urn:uuid:0e051f42-f9bd-4ed4-a1b3-9c96828e3dc9</wsa:MessageID
> ><wsa:ReplyTo><wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/address
> ing/role/anonymous</wsa:Address></wsa:ReplyTo><wsa:To>http://localhost:8
> 081/myapp/services/MyService</wsa:To><wsse:Security><wsu:Timestamp
> wsu:Id="Timestamp-f89e51cc-463e-42c0-8e1d-d7baefdce4e7"><wsu:Created>200
> 7-04-17T16:15:28Z</wsu:Created><wsu:Expires>2007-04-17T16:20:28Z</wsu:Ex
> pires></wsu:Timestamp></wsse:Security></soap:Header><soap:Body><MyOperat
> ion xmlns="http://mycompany.com/myservice/types
> "><param1kjdjkd</param1></MyOperation></soap:Body></soap:Envelope>
> ----MIMEBoundary633124089286669583--
>
>


-- 
Dan Diephouse
Envoi Solutions
http://envoisolutions.com | http://netzooid.com/blog