cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dennis Sosnoski <...@sosnoski.com>
Subject Re: "Namespace URIs and local names to the unmarshaller needs to be interned"
Date Thu, 18 Nov 2010 23:31:53 GMT
I'd suggest you try to capture the XML message exchange and look for
anything weird. If I'm understanding you correctly, your CXF service
works fine with a variety of other clients and it's only this particular
.Net one causing a problem, so I suspect something in the message you're
receiving is confusing JAXB unmarshalling.

I don't know if .Net comes with any convenient tools for message
capture, but you should be able to set up Tcpmon (either the java.net
version, or the Apache one) and capture using that.

  - Dennis

Dennis M. Sosnoski
Java SOA and Web Services Consulting <http://www.sosnoski.com/consult.html>
Axis2/CXF/Metro SOA and Web Services Training
<http://www.sosnoski.com/training.html>
Web Services Jump-Start <http://www.sosnoski.com/jumpstart.html>


On 11/19/2010 12:10 PM, Kessel, Christopher wrote:
> I appreciate the pointers. I'm baffled too. We use the SOAP interface heavily (our servers
use it to talk internally) so I know it works, or can work anyway. I can even get it to work
just fine with a direct command line "curl".
>
> The fellow on the other end is much like me, but using C#. The wsdl creates code and
it's all black box stuff on the actual underlying communication :)
>
> Thanks,
> Chris
>
> -----Original Message-----
> From: Daniel Kulp [mailto:dkulp@apache.org] 
> Sent: Thursday, November 18, 2010 1:29 PM
> To: users@cxf.apache.org
> Cc: Kessel, Christopher
> Subject: Re: "Namespace URIs and local names to the unmarshaller needs to be interned"
>
> On Thursday 18 November 2010 4:18:11 pm Kessel, Christopher wrote:
>   
>> We're in production with it and headed in a 2-month change moratorium for
>> the holiday season, so I can't swap anything out for probably 3 months
>> unless failure to do so will activate a tactical nuke somewhere. Even
>> then, there'd be a risk analysis study.
>>
>> Any suggestions on what to look for in their input that'd be causing it?
>> It's a customer writing their integration with our SOAP server, so even
>> though I can't change anything right now, they might be able to change
>> something on their end.
>>     
> Honestly, I have NO idea.   IMO, this is something that would pretty much 
> always occur (aka: for all customers) or for none of them.   I really don't 
> know what would trigger this for just SOME messages and not others.  :-(
>
> The only thing I can think of would be to capture the raw soap messages and 
> try and compare them with messages that do work.    I don't THINK an extra 
> child element that isn't in the schema would cause this, but it might.
>
> You could TRY turning on schema validation as well.  That may change things or 
> maybe give an error message if that is what the problem is.
>
> Dan
>
>
>   
>> Thanks,
>> Chris
>>
>> -----Original Message-----
>> From: Daniel Kulp [mailto:dkulp@apache.org]
>> Sent: Thursday, November 18, 2010 12:54 PM
>> To: users@cxf.apache.org
>> Cc: Kessel, Christopher
>> Subject: Re: "Namespace URIs and local names to the unmarshaller needs to
>> be interned"
>>
>> On Thursday 18 November 2010 2:31:05 pm Kessel, Christopher wrote:
>>     
>>> Any idea what this error means? A customer is trying to access our SOAP
>>> interface, we're using CXF (2.2.6 I think), and I can see the exception
>>> in the log. I can't duplicate it.
>>>       
>> I saw some similar issues like this when doing some work on the FastInfoset
>> stuff.   My recommendations:
>>
>> 1) Try with CXF 2.2.10 or 2.3.0.   We've done a bit of work to make sure
>> the original XMLStreamReaders are passed into JAXB and JAXB usually can
>> then reconfigure them a bit better to make sure things are interned
>> correctly and such.
>>
>> 2) Make sure Woodstox is picked up and not the parser built into the JDK.
>>
>> Dan
>>
>>     
>>> I suspect it has nothing to do with CXF itself, but I really have no idea
>>> what it means.
>>>
>>> Thanks,
>>> Chris
>>>
>>> DefaultValidationEventHandler: [ERROR]: Namespace URIs and local names to
>>> the unmarshaller needs to be interned. org.apache.cxf.interceptor.Fault:
>>> Unmarshalling Error: Namespace URIs and local names to the unmarshaller
>>> needs to be interned. at
>>> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java
>>> : 764) at
>>> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java
>>> : 623) at
>>> org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:128) at
>>> org.apache.cxf.interceptor.DocLiteralInInterceptor.getPara(DocLiteralInIn
>>> t erceptor.java:248) at
>>> org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiter
>>> a lInInterceptor.java:124) at
>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorCh
>>> a in.java:243) at
>>> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiatio
>>> n Observer.java:109) at
>>> org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestina
>>> t ion.java:98) at
>>> org.apache.cxf.transport.servlet.ServletController.invokeDestination(Serv
>>> l etController.java:406) at
>>> org.apache.cxf.transport.servlet.ServletController.invoke(ServletControll
>>> e r.java:178) at
>>> org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFSer
>>> v let.java:142) at
>>> org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(Abstra
>>> c tHTTPServlet.java:179) at
>>> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPS
>>> e rvlet.java:103) at
>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at
>>> org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTP
>>> S ervlet.java:159) at
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicat
>>> i onFilterChain.java:290) at
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilte
>>> r Chain.java:206) at
>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve
>>> . java:233) at
>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve
>>> . java:191) at
>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
>>> 1 28) at
>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
>>> 1 02) at
>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.j
>>> a va:109) at
>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:29
>>> 3 ) at
>>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849
>>> ) at
>>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(H
>>> t tp11Protocol.java:583) at
>>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
>>> at java.lang.Thread.run(Thread.java:619)
>>> Caused by: javax.xml.bind.UnmarshalException
>>>
>>>  - with linked exception:
>>> [javax.xml.bind.UnmarshalException: Namespace URIs and local names to the
>>> unmarshaller needs to be interned.] at
>>> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamExc
>>> e ption(UnmarshallerImpl.java:425) at
>>> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(Unma
>>> r shallerImpl.java:362) at
>>> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(Unmar
>>> s hallerImpl.java:339) at
>>> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java
>>> : 749) ... 26 more
>>> Caused by: javax.xml.bind.UnmarshalException: Namespace URIs and local
>>> names to the unmarshaller needs to be interned. at
>>> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent
>>> ( UnmarshallingContext.java:642) at
>>> com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:2
>>> 5 4) at
>>> com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:2
>>> 4 9) at
>>> com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportUnexpectedChildElem
>>> e nt(Loader.java:114) at
>>> com.sun.xml.bind.v2.runtime.unmarshaller.Loader.childElement(Loader.java:
>>> 1 01) at
>>> com.sun.xml.bind.v2.runtime.unmarshaller.StructureLoader.childElement(Str
>>> u ctureLoader.java:245) at
>>> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext._startEleme
>>> n t(UnmarshallingContext.java:478) at
>>> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElemen
>>> t (UnmarshallingContext.java:459) at
>>> com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.handleStartE
>>> l ement(StAXStreamConnector.java:242) at
>>> com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXS
>>> t reamConnector.java:176) at
>>> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(Unma
>>> r shallerImpl.java:360) ... 28 more
>>> Caused by: javax.xml.bind.UnmarshalException: Namespace URIs and local
>>> names to the unmarshaller needs to be interned. ... 39 more
>>>       
>   

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message