java - Why is this unmarshaller throwing a MalformedURLException? -



java - Why is this unmarshaller throwing a MalformedURLException? -

weblogic 11g (10.3.5) spring framework 3.1.3 spring web services 2.1.1

spring-ws web service running on weblogic. same web service works fine in tomcat , spring vfabric, throws these cryptic exceptions under weblogic. implementation code never reached on weblogic, rather request handling breaks downwards @ point during unmarshalling. i've tried debug through issue, 2 factors complicate that. first, unmarshaller coming weblogic, means don't have source. second, primary exception coming java.net.url, seems eclipse debugger cannot inspect local variable values.

here's stack trace, trace-level logs leading it.

2013-02-07 13:45:24,523 [[active] executethread: '18' queue: 'weblogic.kernel.default (self-tuning)' :: 127.0.0.1] trace - received request [<?xml version="1.0" encoding="utf-8" standalone="yes"?><soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://subdomain.example.com/services/"> <soapenv:header/> <soapenv:body> <ser:searchrequest> <ser:documenttype>email</ser:documenttype> <ser:lineofbusiness>testlob</ser:lineofbusiness> <ser:businesskey> <ser:keyname>testcode</ser:keyname> <ser:value>00000</ser:value> </ser:businesskey> <ser:datecreated> <ser:startdate/> <ser:length/> </ser:datecreated> </ser:searchrequest> </soapenv:body> </soapenv:envelope>] 2013-02-07 13:45:24,538 [[active] executethread: '18' queue: 'weblogic.kernel.default (self-tuning)' :: 127.0.0.1] trace - soapelement [weblogic.webservice.core.soap.soapbodyimpl] implements saaj 1.1 2013-02-07 13:45:24,554 [[active] executethread: '18' queue: 'weblogic.kernel.default (self-tuning)' :: 127.0.0.1] debug - looking endpoint [{http://ecm.cinfin.com/services/}searchrequest] 2013-02-07 13:45:24,554 [[active] executethread: '18' queue: 'weblogic.kernel.default (self-tuning)' :: 127.0.0.1] debug - endpoint mapping [org.springframework.ws.server.endpoint.mapping.payloadrootannotationmethodendpointmapping@1587368] maps request endpoint [public com.example.subdomain.services.model.searchresponse com.example.subdomain.services.search.endpoint.searchendpoint.handlesearch(com.example.subdomain.services.model.searchrequest)] 2013-02-07 13:45:24,570 [[active] executethread: '18' queue: 'weblogic.kernel.default (self-tuning)' :: 127.0.0.1] trace - soapelement [weblogic.webservice.core.soap.soapheaderimpl] implements saaj 1.1 2013-02-07 13:45:24,570 [[active] executethread: '18' queue: 'weblogic.kernel.default (self-tuning)' :: 127.0.0.1] debug - testing endpoint adapter [org.springframework.ws.server.endpoint.adapter.defaultmethodendpointadapter@f24611] 2013-02-07 13:45:24,570 [[active] executethread: '18' queue: 'weblogic.kernel.default (self-tuning)' :: 127.0.0.1] trace - testing if argument resolver [org.springframework.ws.server.endpoint.adapter.method.messagecontextmethodargumentresolver@1d60bb4] supports [class com.example.subdomain.services.model.searchrequest] 2013-02-07 13:45:24,570 [[active] executethread: '18' queue: 'weblogic.kernel.default (self-tuning)' :: 127.0.0.1] trace - testing if argument resolver [org.springframework.ws.server.endpoint.adapter.method.xpathparammethodargumentresolver@19a6ada] supports [class com.example.subdomain.services.model.searchrequest] 2013-02-07 13:45:24,585 [[active] executethread: '18' queue: 'weblogic.kernel.default (self-tuning)' :: 127.0.0.1] trace - testing if argument resolver [org.springframework.ws.soap.server.endpoint.adapter.method.soapmethodargumentresolver@1d06ba9] supports [class com.example.subdomain.services.model.searchrequest] 2013-02-07 13:45:24,585 [[active] executethread: '18' queue: 'weblogic.kernel.default (self-tuning)' :: 127.0.0.1] trace - testing if argument resolver [org.springframework.ws.server.endpoint.adapter.method.dom.dompayloadmethodprocessor@4c61b3] supports [class com.example.subdomain.services.model.searchrequest] 2013-02-07 13:45:24,585 [[active] executethread: '18' queue: 'weblogic.kernel.default (self-tuning)' :: 127.0.0.1] trace - testing if argument resolver [org.springframework.ws.server.endpoint.adapter.method.sourcepayloadmethodprocessor@a2392e] supports [class com.example.subdomain.services.model.searchrequest] 2013-02-07 13:45:24,585 [[active] executethread: '18' queue: 'weblogic.kernel.default (self-tuning)' :: 127.0.0.1] trace - testing if argument resolver [org.springframework.ws.server.endpoint.adapter.method.jaxb.xmlrootelementpayloadmethodprocessor@580cc5] supports [class com.example.subdomain.services.model.searchrequest] 2013-02-07 13:45:24,601 [[active] executethread: '18' queue: 'weblogic.kernel.default (self-tuning)' :: 127.0.0.1] debug - returning cached instance of singleton bean 'searchendpoint' 2013-02-07 13:45:24,601 [[active] executethread: '18' queue: 'weblogic.kernel.default (self-tuning)' :: 127.0.0.1] debug - resolving exception endpoint [public com.example.subdomain.services.model.searchresponse com.example.subdomain.services.search.endpoint.searchendpoint.handlesearch(com.example.subdomain.services.model.searchrequest)]: javax.xml.bind.unmarshalexception - linked exception: [java.net.malformedurlexception] 2013-02-07 13:45:24,601 [[active] executethread: '18' queue: 'weblogic.kernel.default (self-tuning)' :: 127.0.0.1] debug - returning cached instance of singleton bean 'searchendpoint' 2013-02-07 13:45:24,601 [[active] executethread: '18' queue: 'weblogic.kernel.default (self-tuning)' :: 127.0.0.1] debug - resolving exception endpoint [public com.example.subdomain.services.model.searchresponse com.example.subdomain.services.search.endpoint.searchendpoint.handlesearch(com.example.subdomain.services.model.searchrequest)]: javax.xml.bind.unmarshalexception - linked exception: [java.net.malformedurlexception] 2013-02-07 13:45:24,616 [[active] executethread: '18' queue: 'weblogic.kernel.default (self-tuning)' :: 127.0.0.1] debug - endpoint invocation resulted in exception - responding fault javax.xml.bind.unmarshalexception: null @ com.sun.xml.bind.v2.runtime.unmarshaller.unmarshallerimpl.unmarshal0(unmarshallerimpl.java:213) ~[glassfish.jaxb_1.0.0.0_2-1-12.jar:2.1.12] @ com.sun.xml.bind.v2.runtime.unmarshaller.unmarshallerimpl.unmarshal(unmarshallerimpl.java:184) ~[glassfish.jaxb_1.0.0.0_2-1-12.jar:2.1.12] @ javax.xml.bind.helpers.abstractunmarshallerimpl.unmarshal(abstractunmarshallerimpl.java:137) ~[na:1.6.0_24] @ org.springframework.ws.server.endpoint.adapter.method.jaxb.abstractjaxb2payloadmethodprocessor$jaxb2sourcecallback.saxsource(abstractjaxb2payloadmethodprocessor.java:239) ~[spring-ws-2.1.1.release-all.jar:2.1.1.release] @ org.springframework.xml.transform.traxutils.dowithsource(traxutils.java:103) ~[spring-ws-2.1.1.release-all.jar:2.1.1.release] @ org.springframework.ws.server.endpoint.adapter.method.jaxb.abstractjaxb2payloadmethodprocessor.unmarshalfromrequestpayload(abstractjaxb2payloadmethodprocessor.java:125) ~[spring-ws-2.1.1.release-all.jar:2.1.1.release] @ org.springframework.ws.server.endpoint.adapter.method.jaxb.xmlrootelementpayloadmethodprocessor.resolveargument(xmlrootelementpayloadmethodprocessor.java:49) ~[spring-ws-2.1.1.release-all.jar:2.1.1.release] @ org.springframework.ws.server.endpoint.adapter.defaultmethodendpointadapter.getmethodarguments(defaultmethodendpointadapter.java:259) ~[spring-ws-2.1.1.release-all.jar:2.1.1.release] @ org.springframework.ws.server.endpoint.adapter.defaultmethodendpointadapter.invokeinternal(defaultmethodendpointadapter.java:220) ~[spring-ws-2.1.1.release-all.jar:2.1.1.release] @ org.springframework.ws.server.endpoint.adapter.abstractmethodendpointadapter.invoke(abstractmethodendpointadapter.java:53) ~[spring-ws-2.1.1.release-all.jar:2.1.1.release] @ org.springframework.ws.server.messagedispatcher.dispatch(messagedispatcher.java:233) [spring-ws-2.1.1.release-all.jar:2.1.1.release] @ org.springframework.ws.server.messagedispatcher.receive(messagedispatcher.java:173) [spring-ws-2.1.1.release-all.jar:2.1.1.release] @ org.springframework.ws.transport.support.webservicemessagereceiverobjectsupport.handleconnection(webservicemessagereceiverobjectsupport.java:88) [spring-ws-2.1.1.release-all.jar:2.1.1.release] @ org.springframework.ws.transport.http.webservicemessagereceiverhandleradapter.handle(webservicemessagereceiverhandleradapter.java:59) [spring-ws-2.1.1.release-all.jar:2.1.1.release] @ org.springframework.web.servlet.dispatcherservlet.dodispatch(dispatcherservlet.java:923) [spring-webmvc-3.1.3.release.jar:3.1.3.release] @ org.springframework.web.servlet.dispatcherservlet.doservice(dispatcherservlet.java:852) [spring-webmvc-3.1.3.release.jar:3.1.3.release] @ org.springframework.web.servlet.frameworkservlet.processrequest(frameworkservlet.java:882) [spring-webmvc-3.1.3.release.jar:3.1.3.release] @ org.springframework.web.servlet.frameworkservlet.dopost(frameworkservlet.java:789) [spring-webmvc-3.1.3.release.jar:3.1.3.release] @ javax.servlet.http.httpservlet.service(httpservlet.java:727) [javax.servlet_1.0.0.0_2-5.jar:2.5] @ javax.servlet.http.httpservlet.service(httpservlet.java:820) [javax.servlet_1.0.0.0_2-5.jar:2.5] @ weblogic.servlet.internal.stubsecurityhelper$servletserviceaction.run(stubsecurityhelper.java:227) [weblogic.jar:10.3.5.0] @ weblogic.servlet.internal.stubsecurityhelper.invokeservlet(stubsecurityhelper.java:125) [weblogic.jar:10.3.5.0] @ weblogic.servlet.internal.servletstubimpl.execute(servletstubimpl.java:300) [weblogic.jar:10.3.5.0] @ weblogic.servlet.internal.tailfilter.dofilter(tailfilter.java:26) [weblogic.jar:10.3.5.0] @ weblogic.servlet.internal.filterchainimpl.dofilter(filterchainimpl.java:56) [weblogic.jar:10.3.5.0] @ weblogic.servlet.internal.requesteventsfilter.dofilter(requesteventsfilter.java:27) [weblogic.jar:10.3.5.0] @ weblogic.servlet.internal.filterchainimpl.dofilter(filterchainimpl.java:56) [weblogic.jar:10.3.5.0] @ weblogic.servlet.internal.webappservletcontext$servletinvocationaction.wraprun(webappservletcontext.java:3715) [weblogic.jar:10.3.5.0] @ weblogic.servlet.internal.webappservletcontext$servletinvocationaction.run(webappservletcontext.java:3681) [weblogic.jar:10.3.5.0] @ weblogic.security.acl.internal.authenticatedsubject.doas(authenticatedsubject.java:321) [com.bea.core.weblogic.security.identity_1.1.2.1.jar:1.1.2.1] @ weblogic.security.service.securitymanager.runas(securitymanager.java:120) [com.bea.core.weblogic.security.wls_1.0.0.0_6-1-0-0.jar:6.1.0.0] @ weblogic.servlet.internal.webappservletcontext.securedexecute(webappservletcontext.java:2277) [weblogic.jar:10.3.5.0] @ weblogic.servlet.internal.webappservletcontext.execute(webappservletcontext.java:2183) [weblogic.jar:10.3.5.0] @ weblogic.servlet.internal.servletrequestimpl.run(servletrequestimpl.java:1454) [weblogic.jar:10.3.5.0] @ weblogic.work.executethread.execute(executethread.java:209) [com.bea.core.weblogic.workmanager_1.10.0.0.jar:1.10.0.0] @ weblogic.work.executethread.run(executethread.java:178) [com.bea.core.weblogic.workmanager_1.10.0.0.jar:1.10.0.0] caused by: java.net.malformedurlexception: null @ java.net.url.<init>(url.java:601) ~[na:1.6.0_24] @ java.net.url.<init>(url.java:464) ~[na:1.6.0_24] @ java.net.url.<init>(url.java:413) ~[na:1.6.0_24] @ com.sun.org.apache.xerces.internal.impl.xmlentitymanager.setupcurrententity(xmlentitymanager.java:650) ~[na:1.6.0_24] @ com.sun.org.apache.xerces.internal.impl.xmlversiondetector.determinedocversion(xmlversiondetector.java:186) ~[na:1.6.0_24] @ com.sun.org.apache.xerces.internal.parsers.xml11configuration.parse(xml11configuration.java:772) ~[na:1.6.0_24] @ com.sun.org.apache.xerces.internal.parsers.xml11configuration.parse(xml11configuration.java:737) ~[na:1.6.0_24] @ com.sun.org.apache.xerces.internal.parsers.xmlparser.parse(xmlparser.java:119) ~[na:1.6.0_24] @ com.sun.org.apache.xerces.internal.parsers.abstractsaxparser.parse(abstractsaxparser.java:1205) ~[na:1.6.0_24] @ com.sun.org.apache.xerces.internal.jaxp.saxparserimpl$jaxpsaxparser.parse(saxparserimpl.java:522) ~[na:1.6.0_24] @ weblogic.xml.jaxp.weblogicxmlreader.parse(weblogicxmlreader.java:133) ~[weblogic.jar:10.3.5.0] @ weblogic.xml.jaxp.registryxmlreader.parse(registryxmlreader.java:173) ~[weblogic.jar:10.3.5.0] @ com.sun.xml.bind.v2.runtime.unmarshaller.unmarshallerimpl.unmarshal0(unmarshallerimpl.java:211) ~[glassfish.jaxb_1.0.0.0_2-1-12.jar:2.1.12] ... 35 mutual frames omitted

the problem wls 10.3.5 comes own spring version 2.5.6.sec01. default, wls uses version, since loaded higher classloader. might cause unmarshalexception see.

is spring library in weblogic application app-inf/lib or web application web-inf/lib? if spring 3.1.3 @ application level, need create weblogic-application.xml below entry

<?xml version="1.0" encoding="utf-8"?> <weblogic-application> <prefer-application-packages> <package-name>org.apache.*</package-name> <package-name>org.springframework.*</package-name> </prefer-application-packages> </weblogic-application>

if @ web application level, add together next entry weblogic.xml

<prefer-web-inf-classes>true<prefer-web-inf-classes>

java jaxb weblogic spring-ws

Comments

Popular posts from this blog

web services - java.lang.NoClassDefFoundError: Could not initialize class net.sf.cglib.proxy.Enhancer -

Accessing MATLAB's unicode strings from C -

javascript - mongodb won't find my schema method in nested container -