I've managed to work out how to debug my web app.

I'm looking at the getMarshaller(int index, String name) method on 
MarshallingContext.class.  When it comes into this method, index is 1 (which 
seems right) and name is 
com.company.gateway.base.param.classes.LoginApplicationResponseParameter, 
which also looks correct.

this.m_classes contains two entries, the first is my call parameter classname, 
and the other is the response parameter.  Seems good so far.

At line 863, m_marshallers[index] is null (as is the other row in that array)  
m_marshallerClasses contains two rows, the first refers to my Call Parameter 
(blah.param.classes.JiBX_LoginApplicationCallParameterLoginApplicationCallParameter_access)
and the second is null.

So, on line 871 mname becomes null, as the m_marshallerClasses array contains 
null at index 1, which I think is the problem.

The next question is - how did I cause it to go wrong?

If I modify the variable so that it creates the row in m_marshallers correctly 
(by manually modifying mname during the debug) I get no error in the server 
logs (where the NullPointerException was before) but I still get an error on 
the client, which is 

Caused by: org.jibx.soap.SOAPException: No unmarshaller for body element 
"LoginApplicationResponseParameter"
 at org.jibx.soap.SOAPContext.getReceivePayload(SOAPContext.java:289)
 at org.jibx.soap.SOAPContext.unmarshalSOAP(SOAPContext.java:241)
 at org.jibx.soap.client.SOAPClient.call(SOAPClient.java:162)
 at 
com.pancredit.webservices.test.WebServiceTest.testLoginApplication(WebServiceTest.java:74)
 ... 15 more

Ideas anyone?

Tim.


-------------------------------------------------------
This SF.Net email is sponsored by:
Sybase ASE Linux Express Edition - download now for FREE
LinuxWorld Reader's Choice Award Winner for best database on Linux.
http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click
_______________________________________________
jibx-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jibx-users

Reply via email to