I have a third party web service I'm trying to call,
but I keep getting databinding exceptions from the
response.  I used ADB to generate a stub class from
their wsdl and it looks like the problem is related to
a problem with xml namespaces... If I hack the
generated stub class like the following the exception
goes away, but it feels like a less than optimal way
to go:

change occurances of this in the stub class:

javax.xml.namespace.QName("http://xml.apache.org/xml-soap","item";)
javax.xml.namespace.QName("http://xml.apache.org/xml-soap","key";)

into this:

javax.xml.namespace.QName("item")
javax.xml.namespace.QName("key")


17:54:44,720 DEBUG [content] >> "<?xml version='1.0'
encoding='UTF-8'?><soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";><soapenv:Body><ns3:runCustomer
xmlns:ns3="http://docstyle.webservices";><ns3:dhd_user>myuser</ns3:dhd_user><ns3:dhd_password>blahblah</ns3:dhd_password><ns3:dhd_role>WebServicesSub</ns3:dhd_role><ns3:mode>Customer_Cancel</ns3:mode><ns3:merch_id>383</ns3:merch_id><ns3:cust_id>123123</ns3:cust_id><ns3:cust_fname>true</ns3:cust_fname><ns3:cust_lname>true</ns3:cust_lname><ns3:cust_email>[EMAIL
 
PROTECTED]</ns3:cust_email><ns3:sub_username>true</ns3:sub_username><ns3:sub_password>true</ns3:sub_password><ns3:cust_mail_status>true</ns3:cust_mail_status><ns3:cust_id_ext>true</ns3:cust_id_ext><ns3:sub_cancel_date>true</ns3:sub_cancel_date><ns3:addr_address>true</ns3:addr_address><ns3:addr_city>true</ns3:addr_city><ns3:addr_state>true</ns3:addr_state><ns3:addr_country>true</ns3:addr_country><ns3:addr_zip>true</ns3:addr_zip><ns3:cust_phone>true</ns3:cust_phone></ns3:runCustomer></soapenv:Body></soapenv:Envelope>"
17:54:44,743 DEBUG [EntityEnclosingMethod] Request
body sent
17:54:45,242 DEBUG [header] << "HTTP/1.1 200
OK[\r][\n]"
17:54:45,243 DEBUG [header] << "Date: Fri, 30 May 2008
00:54:44 GMT[\r][\n]"
17:54:45,243 DEBUG [header] << "Server: Apache/1.3.39
(Unix) JRun/4.0 mod_ssl/2.8.30 OpenSSL/0.9.8g
mod_perl/1.29[\r][\n]"
17:54:45,243 DEBUG [header] << "Content-Language:
en-US[\r][\n]"
17:54:45,243 DEBUG [header] << "Transfer-Encoding:
chunked[\r][\n]"
17:54:45,243 DEBUG [header] << "Content-Type:
text/xml; charset=utf-8[\r][\n]"
17:54:45,267 DEBUG [content] << "3"
17:54:45,267 DEBUG [content] << "8"
17:54:45,267 DEBUG [content] << "2"
17:54:45,268 DEBUG [content] << "[\r]"
17:54:45,268 DEBUG [content] << "[\n]"
17:54:45,268 DEBUG [content] << "<?xm"
17:54:45,270 DEBUG [content] << "l version="1.0"
encoding="UTF-8"?><soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>[\n]"
17:54:45,270 DEBUG [content] << " <soapenv:Body>[\n]"
17:54:45,271 DEBUG [content] << " 
<runCustomerResponse
xmlns="http://docstyle.webservices";>[\n]"
17:54:45,274 DEBUG [content] << "   <runCustomerReturn
xsi:type="ns1:Map"
xmlns:ns1="http://xml.apache.org/xml-soap";>[\n]"
17:54:45,275 DEBUG [content] << "    <item
xmlns="">[\n]"
17:54:45,275 DEBUG [content] << "     <key
xsi:type="xsd:string">STATUS</key>[\n]"
17:54:45,275 DEBUG [content] << "     <value
xsi:type="xsd:string">TRUE</value>[\n]"
17:54:45,275 DEBUG [content] << "    </item>[\n]"
17:54:45,275 DEBUG [content] << "    <item
xmlns="">[\n]"
17:54:45,275 DEBUG [content] << "     <key
xsi:type="xsd:string">MESSAGE</key>[\n]"
17:54:45,275 DEBUG [content] << "     <value
xsi:type="xsd:string">Customer has been successfully
cancelled on 28-Jun-2008</value>[\n]"
17:54:45,275 DEBUG [content] << "    </item>[\n]"
17:54:45,275 DEBUG [content] << "    <item
xmlns="">[\n]"
17:54:45,276 DEBUG [content] << "     <key
xsi:type="xsd:string">METHOD</key>[\n]"
17:54:45,276 DEBUG [content] << "     <value
xsi:type="xsd:string">dhd_cfcs.customers</value>[\n]"
17:54:45,276 DEBUG [content] << "    </item>[\n]"
17:54:45,276 DEBUG [content] << "  
</runCustomerReturn>[\n]"
17:54:45,276 DEBUG [content] << " 
</runCustomerResponse>[\n]"
17:54:45,276 DEBUG [content] << " </soapenv:Body>[\n]"
17:54:45,276 DEBUG [content] << "</soapenv:Envelope>"
17:54:45,314 DEBUG [content] << "[\r]"
17:54:45,314 DEBUG [content] << "[\n]"
17:54:45,315 DEBUG [content] << "0"
17:54:45,315 DEBUG [content] << "[\r]"
17:54:45,315 DEBUG [content] << "[\n]"
17:54:45,315 DEBUG [content] << "[\r]"
17:54:45,315 DEBUG [content] << "[\n]"
17:54:45,315 DEBUG [HttpMethodBase] Resorting to
protocol version default close connection policy
17:54:45,315 DEBUG [HttpMethodBase] Should NOT close
connection, using HTTP/1.1
17:54:45,315 DEBUG [HttpConnection] Releasing
connection back to connection manager.
17:54:45,315 DEBUG
[MultiThreadedHttpConnectionManager] Freeing
connection,
hostConfig=HostConfiguration[host=https://secure.dhdmedia.com]
17:54:45,315 DEBUG [IdleConnectionHandler] Adding
connection at: 1212108885315
17:54:45,315 DEBUG
[MultiThreadedHttpConnectionManager] Notifying no-one,
there are no waiting threads
17:54:45,315 ERROR [AccountMgrBean] Error cancelling
dhd account: 
org.apache.axis2.AxisFault:
org.apache.axis2.databinding.ADBException:
!!!Unexpected subelement item
        at
org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
        at
com.kink.heart.biz.billing.i.dhd.CustomersWebserviceStub.fromOM(CustomersWebserviceStub.java:4959)
        at
com.kink.heart.biz.billing.i.dhd.CustomersWebserviceStub.runCustomer(CustomersWebserviceStub.java:197)
        at
com.kink.heart.biz.account.AccountMgrBean.cancelDHDSubscription(AccountMgrBean.java:476)
        at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
        at
org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
        at
org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
        at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at
org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
        at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at
org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
        at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at
org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
        at
org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191)
        at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at
org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:94)
        at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at
org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
        at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at
org.jboss.aspects.security.RunAsSecurityInterceptor.invoke(RunAsSecurityInterceptor.java:79)
        at
org.jboss.ejb3.security.RunAsSecurityInterceptor.invoke(RunAsSecurityInterceptor.java:54)
        at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at
org.jboss.aspects.security.RoleBasedAuthorizationInterceptor.invoke(RoleBasedAuthorizationInterceptor.java:166)
        at
org.jboss.ejb3.security.RoleBasedAuthorizationInterceptor.invoke(RoleBasedAuthorizationInterceptor.java:108)
        at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at
org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
        at
org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:106)
        at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at
org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
        at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at
org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
        at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
        at
org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:214)
        at
org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:184)
        at
org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:81)
        at $Proxy693.cancelDHDSubscription(Unknown Source)
        at
com.kink.heart.webkink.action.account.CancelDHDSubscription.authExecute(CancelDHDSubscription.java:51)
        at
com.kink.heart.common.action.AuthRequired.execute(AuthRequired.java:75)
        at
org.tagonist.ErrorTrappingAction.execute(ErrorTrappingAction.java:62)
        at
org.tagonist.ActionTag.doEndTag(ActionTag.java:280)
        at
org.apache.jsp.account.cancel_005fdhd_005fsubmit_jsp._jspx_meth_t_005faction_005f0(cancel_005fdhd_005fsubmit_jsp.java:129)
        at
org.apache.jsp.account.cancel_005fdhd_005fsubmit_jsp._jspService(cancel_005fdhd_005fsubmit_jsp.java:95)
        at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:387)
        at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
        at
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
        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
com.kink.heart.common.sso.AutoSelfFilter.doFilter(AutoSelfFilter.java:130)
        at
com.kink.love.web.AbstractFilter.doFilter(AbstractFilter.java:56)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at
com.kink.heart.common.DiscoverSiteFilter.doFilter(DiscoverSiteFilter.java:126)
        at
com.kink.love.web.AbstractFilter.doFilter(AbstractFilter.java:56)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at
com.kink.heart.common.sso.ReturnUrlFilter.doFilter(ReturnUrlFilter.java:162)
        at
com.kink.love.web.AbstractFilter.doFilter(AbstractFilter.java:56)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at
com.kink.love.web.security.SecurityAssociationFilter.doFilter(SecurityAssociationFilter.java:94)
        at
com.kink.love.web.AbstractFilter.doFilter(AbstractFilter.java:56)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at
com.kink.heart.common.sso.SSOTicketCrackingFilter.doFilter(SSOTicketCrackingFilter.java:157)
        at
com.kink.love.web.AbstractFilter.doFilter(AbstractFilter.java:56)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at
com.kink.heart.common.AffiliateFilter.doFilter(AffiliateFilter.java:102)
        at
com.kink.love.web.AbstractFilter.doFilter(AbstractFilter.java:56)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at
com.kink.love.web.SetRequestCharsetFilter.doFilter(SetRequestCharsetFilter.java:39)
        at
com.kink.love.web.AbstractFilter.doFilter(AbstractFilter.java:56)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at
com.kink.heart.common.IPAddressFilter.doFilter(IPAddressFilter.java:59)
        at
com.kink.love.web.AbstractFilter.doFilter(AbstractFilter.java:56)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at
com.kink.heart.common.ErrorLoggingFilter.doFilter(ErrorLoggingFilter.java:43)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        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.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
        at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
        at
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
        at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:543)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
        at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:637)
Caused by: java.lang.Exception:
org.apache.axis2.databinding.ADBException:
!!!Unexpected subelement item
        at
com.kink.heart.biz.billing.i.dhd.CustomersWebserviceStub$Map$Factory.parse(CustomersWebserviceStub.java:4844)
        at
com.kink.heart.biz.billing.i.dhd.CustomersWebserviceStub$RunCustomerResponse$Factory.parse(CustomersWebserviceStub.java:3554)
        at
com.kink.heart.biz.billing.i.dhd.CustomersWebserviceStub.fromOM(CustomersWebserviceStub.java:4946)
        ... 101 more
Caused by: org.apache.axis2.databinding.ADBException:
!!!Unexpected subelement item
        at
com.kink.heart.biz.billing.i.dhd.CustomersWebserviceStub$Map$Factory.parse(CustomersWebserviceStub.java:4838)
        ... 103 more



      

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to