I'll try 2.0.6 and let you know.
dkulp wrote: > > > Can you try with 2.0.6 or 2.1? I added checks for > MessagePartInfo.getTypeClass() == null in several areas for > 2.1/2.0.6. That may have taken care of this. > > Dan > > > > On May 14, 2008, at 3:32 PM, JSP wrote: > >> >> I am trying to consume one of the strikeiron web services which take >> an input >> soap header and return an output soap header. When I execute a >> request that >> has an input soap header and an output soap header I get a null >> pointer >> exception. The request is sent successfully and the response is >> recieved >> but it cannot be unmarshalled. The null pointer exception is >> misleading >> because it occurs when handling another exception. This is the null >> pointer >> exception: >> Caused by: java.lang.NullPointerException >> at >> org >> .apache >> .cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:592) >> at >> org >> .apache >> .cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:498) >> at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:40) >> at >> org >> .apache >> .cxf >> .binding >> .soap >> .interceptor >> .SoapHeaderInterceptor.handleMessage(SoapHeaderInterceptor.java:101) >> >> This is the actual exception (unfortunately no stack trace): >> javax.xml.bind.UnmarshalException: unexpected element >> (uri:"http://ws.strikeiron.com", local:"SubscriptionInfo"). Expected >> elements are >> <{http://www.strikeiron.com}GetAllStatuses>,<{http://www.strikeiron.com >> }GetAllStatusesResponse>,<{http:// >> www.strikeiron.com}GetAllTeamNicknames>,<{http:// >> www.strikeiron.com}GetAllTeamNicknamesResponse>,<{http://www.strikeiron.com >> }GetRemainingHits>,<{http:// >> www.strikeiron.com}GetRemainingHitsResponse>,<{http://www.strikeiron.com >> }GetServiceInfo>,<{http:// >> www.strikeiron.com}GetServiceInfoResponse>,<{http:// >> www.strikeiron.com}GetTeamInfoByCity>,<{http:// >> www.strikeiron.com}GetTeamInfoByCityResponse>,<{http://www.strikeiron.com >> }GetTeamInfoByNickname>,<{http:// >> www.strikeiron.com}GetTeamInfoByNicknameResponse> >> >> I have traced through the code and it looks like cxf is trying to >> unmarshal >> a Node without a class. >> Snippet of code from JAXBEncoderDecoder (unmarshalWithClass is false): >> if (source instanceof Node) { >> obj = unmarshalWithClass ? u.unmarshal((Node)source, >> clazz) >> : u.unmarshal((Node)source); >> } else if (source instanceof XMLStreamReader) { >> >> >> And that is because the MessagePartInfo.getTypeClass() method >> returns null. >> I cannot find a place where the type class is set for the >> MessagePartInfo >> for the output soap header. >> >> I have included a snippet of my interface if that helps - I'm >> thinking I >> must have something annotated incorrectly. >> @ResponseWrapper(className = >> "data >> .footballws >> .sdpnflteamssoap.com.strikeiron.www.GetAllTeamNicknamesResponse", >> targetNamespace = "http://www.strikeiron.com", localName = >> "GetAllTeamNicknamesResponse") >> @RequestWrapper(className = >> "data >> .footballws.sdpnflteamssoap.com.strikeiron.www.GetAllTeamNicknames", >> targetNamespace = "http://www.strikeiron.com", localName = >> "GetAllTeamNicknames") >> @WebMethod(action = "http://www.strikeiron.com/GetAllTeamNicknames", >> operationName = "GetAllTeamNicknames") >> public void _GetAllTeamNicknames(@WebParam(partName = >> "LicenseInfoPart", >> header = true, mode = WebParam.Mode.IN, targetNamespace = >> "http://www.strikeiron.com", name = "LicenseInfo") >> LicenseInfo LicenseInfo, @WebParam(partName = >> "GetAllTeamNicknamesResultPart", mode = WebParam.Mode.OUT, >> targetNamespace = >> "http://www.strikeiron.com", name = "GetAllTeamNicknamesResult") >> Holder<NFLTeamOutput> GetAllTeamNicknamesResult, @WebParam(partName = >> "SubscriptionInfoPart", header = true, mode = WebParam.Mode.OUT, >> targetNamespace = "http://www.strikeiron.com", name = >> "SubscriptionInfo") >> Holder<SubscriptionInfo> SubscriptionInfo); >> >> Does anybody have an idea what I might be doing wrong? >> >> BTW - I am using 2.0.5. >> -- >> View this message in context: >> http://www.nabble.com/NullPointerException-decoding-response-with-SOAP-header-tp17239110p17239110.html >> Sent from the cxf-user mailing list archive at Nabble.com. >> > > --- > Daniel Kulp > [EMAIL PROTECTED] > http://www.dankulp.com/blog > > > > > > -- View this message in context: http://www.nabble.com/NullPointerException-decoding-response-with-SOAP-header-tp17239110p17239315.html Sent from the cxf-user mailing list archive at Nabble.com.
