javax.xml.soap.SOAPException: Missing request information when doing the loopback test

244 views
Skip to first unread message

anescu

unread,
Aug 31, 2007, 8:57:30 AM8/31/07
to Hermes 2.0 Discussion List
Hello,

I installed yesteday Hermes 2 on my computer (downloaded yesterday
from the web site), I have this:
- Postgres 8.0
- JDK 1.5.0_06
- JBoss 4.2.0

I had to make some changes to make the web app working on the server
(renamed corvus to corvus.war, commented from web.xml some parts - the
security constraints for example).

But it seem to work, I can see the success message on the web, I added
some partnership, both by using the console tool and the web admin. So
it really seem to work.

Then I tested the loopback tests, for both as2/ebms. For both I get
this kind error:

C:\Babelgom\bin\hermes2\test>loopback as2
Sending loopback messages to Hermes2 under AS2 protocol...
Exception in thread "main" javax.xml.soap.SOAPException: Missing
delivery inform
ation
at hk.hku.cecid.corvus.test.AS2Sender.send(AS2Sender.java:120)
at hk.hku.cecid.corvus.test.AS2Loopback.send(AS2Loopback.java:
80)
at hk.hku.cecid.corvus.test.AS2Loopback.run(AS2Loopback.java:
56)
at hk.hku.cecid.corvus.test.AS2Loopback.main(AS2Loopback.java:
49)

This error is thrown apparently when it tries to connect to the sender
WS. Then I took some code from the loopback sample to try to connect
to the receiving part (make a WS client to retrieve messages), and
there I get the same kind of exception (with the same message). I
searched on the net and I can't find any info about that message.

Ho Fat Tsang

unread,
Aug 31, 2007, 11:54:35 AM8/31/07
to cecid-...@googlegroups.com
Hello anescu,  

2007/8/31, anescu <ane...@gmail.com>:

Hello,

I installed yesteday Hermes 2 on my computer (downloaded yesterday
from the web site), I have this:
- Postgres 8.0
- JDK 1.5.0_06
- JBoss 4.2.0

I had to make some changes to make the web app working on the server
(renamed corvus to corvus.war, commented from web.xml some parts - the
security constraints for example).

Did you change the name of webapp (i.e. "corvus") ? if yes, the loopback console tool may not work. It is because
the endpoint URL in it is pointed to the "http://localhost:8080/corvus/<CONTEXT_PATH>".

But it seem to work, I can see the success message on the web, I added
some partnership, both by using the console tool and the web admin. So
it really seem to work.

Then I tested the loopback tests, for both as2/ebms. For both I get
this kind error:

C:\Babelgom\bin\hermes2\test>loopback as2
Sending loopback messages to Hermes2 under AS2 protocol...
Exception in thread "main" javax.xml.soap.SOAPException: Missing
delivery inform
ation
        at hk.hku.cecid.corvus.test.AS2Sender.send(AS2Sender.java:120)
        at hk.hku.cecid.corvus.test.AS2Loopback.send(AS2Loopback.java:
80)
        at hk.hku.cecid.corvus.test.AS2Loopback.run(AS2Loopback.java :
56)
        at hk.hku.cecid.corvus.test.AS2Loopback.main(AS2Loopback.java:
49)

what the exception tell here is the SOAP web services request is missing some critical information for processing properly. For detail, you may refer to

http://community.cecid.hku.hk/index.php/product/article/communicating_hermes_2_through_ws/#as2-sender-ws

This is rarely happened in loopback test since they have been hard-coded to some meaningful values. For AS2 loopback, the missed information from the exception is defined at AS2Loopback.java line 33-35.

This error is thrown apparently when it tries to connect to the sender
WS. Then I took some code from the loopback sample to try to connect
to the receiving part (make a WS client to retrieve messages), and
there I get the same kind of exception (with the same message). I
searched on the net and I can't find any info about that message.

Would you mind posting the full stack trace for AS2 / EbMS so that i can further investigate the issue ?

Regards,
Twinsen Tsang

anescu

unread,
Sep 3, 2007, 3:47:32 AM9/3/07
to Hermes 2.0 Discussion List
Hello,

I changed the name from corvus to corvus.war. This is needed for JBoss
to deploy the application. I also changed the default DB settings. Now
the DB is called hermes_as2, instead of as2.

The URL however remains the same. I can see the wsdl at this address:
http://localhost:8080/corvus/httpd/as2/sender


Yes, I looked into the sources and indeed the error message I get
would be consistent with some parameters being null. However, I send
all 3 parameters from the client (I tried the loopback & also the
client from the web site).


This is what I get from my client application:
Some debug info:
>From - parameter : 'as2_from'; value: 'Sender'
To - parameter : 'as2_to'; value: 'Receiver'
Type - parameter : 'type'; value: 'xml'
This is the exception I throw on responseBody.hasFault():
javax.xml.soap.SOAPException: Missing delivery information

and this is from the hermes2 log:

If I look at the line (54) in this class I:
hk.hku.cecid.edi.as2.service.AS2MessageSenderService I can see that it
checks for those 3 parameters to be not null

String as2From = getText(bodies, "as2_from");
String as2To = getText(bodies, "as2_to");
String type = getText(bodies, "type");

if (as2From == null || as2To == null || type == null) {
throw new
SOAPFaultException(SOAPFaultException.SOAP_FAULT_CLIENT,
"Missing delivery information");
}


hk.hku.cecid.piazza.commons.soap.SOAPRequestException: Error in
processing SOAP request
by java.lang.reflect.InvocationTargetException
by hk.hku.cecid.piazza.commons.soap.SOAPFaultException: Missing
delivery information
at
hk.hku.cecid.piazza.commons.soap.WebServicesAdaptor.processRequest(WebServicesAdaptor.java:
156)
at
hk.hku.cecid.piazza.commons.soap.SOAPHttpAdaptor.processRequest(SOAPHttpAdaptor.java:
132)
at
hk.hku.cecid.piazza.commons.servlet.http.HttpDispatcher.processRequest(HttpDispatcher.java:
126)
at
hk.hku.cecid.piazza.commons.servlet.http.HttpDispatcher.doPost(HttpDispatcher.java:
277)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
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
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:
96)
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:
156)
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:595)
Caused by: java.lang.reflect.InvocationTargetException
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:585)
at hk.hku.cecid.piazza.commons.util.Instance.invoke(Instance.java:
158)
at
hk.hku.cecid.piazza.commons.soap.WebServicesAdaptor.processRequest(WebServicesAdaptor.java:
143)
... 23 more
Caused by: hk.hku.cecid.piazza.commons.soap.SOAPFaultException:
Missing delivery information
at
hk.hku.cecid.edi.as2.service.AS2MessageSenderService.serviceRequested(AS2MessageSenderService.java:
54)
... 29 more

> http://community.cecid.hku.hk/index.php/product/article/communicating...


>
> This is rarely happened in loopback test since they have been hard-coded to
> some meaningful values. For AS2 loopback, the missed information from the
> exception is defined at AS2Loopback.java line 33-35.
>
> This error is thrown apparently when it tries to connect to the sender
>
> > WS. Then I took some code from the loopback sample to try to connect
> > to the receiving part (make a WS client to retrieve messages), and
> > there I get the same kind of exception (with the same message). I
> > searched on the net and I can't find any info about that message.
>
> Would you mind posting the full stack trace for AS2 / EbMS so that i can
> further investigate the issue ?
>
> Regards,

> Twinsen Tsang- Hide quoted text -
>
> - Show quoted text -

anescu

unread,
Sep 3, 2007, 7:40:46 AM9/3/07
to Hermes 2.0 Discussion List
Hello again. One update.

As I said in my first post, I tested on JBoss 4.2.0. And that seems to
be the problem. I tested the same code on Tomcat (removed Corvus ->
fresh install pointing at Tomcat webapps) and here it works perfectly.
So the problem is only in JBoss! Has anyone tested Corvus with JBoss
4.2.0? Or any previous version? Are there some special instructions on
how to integrate Corvus in JBoss?

Tnx.


hoc...@gmail.com

unread,
Sep 3, 2007, 12:52:49 PM9/3/07
to Hermes 2.0 Discussion List
Hi,

I remember someone mentioned log4j in Corvus may conflict with JBoss.
Not sure are you having the case. May be you can try.
http://groups.google.com/group/cecid-hermes2/browse_thread/thread/dc49e56906a18b7b/230a371300a4ea2f?lnk=gst&q=jboss&rnum=1#230a371300a4ea2f

Philip

Reply all
Reply to author
Forward
0 new messages