We are trying to build an interoperable web service implemented using an EJB 
2.1 service endpoint.  We are starting from WSDL using Sun's tools (wscompile) 
to generate ties, etc.  The deployment consists only of an ejb-jar file with 
the appropriate deployment descriptors.  The web service should run on any J2EE 
1.4 appserver but I'm having trouble with JBOSS.

The web service allows for download of arbitrary files; therefore the mime-type 
of the response is not known ahead of time.  

For maximum interoperability the attachments are sent via document/literal WSDL 
using SwaRef/xsd:anyURI according to Sun's example:

https://jax-rpc.dev.java.net/whitepaper/1.1.2/attachments-howto.html

As such, my business method generates and returns a java.net.URI (the 
Content-ID of the attachment).  Using properties on the EJB MessageContext and 
SAAJ I am attempting to create/add the attachment to the SOAP response using a 
custom handler declared in webservices.xml  

By using SOAPMessage.writeTo( System.out ) the logs appear to show the correct 
SOAP message:

11:33:23,890 ERROR [STDERR] Jul 18, 2006 11:33:23 AM 
com.rtn.ejb.AttachmentHandler handleResponse
INFO: Message content:
------=_Part_2_150842.1153240403820
Content-Type: text/xml; charset=UTF-8
Content-Transfer-Encoding: 8bit
Content-ID: <[EMAIL PROTECTED]>

<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>
 <env:Header/>
 <env:Body>
  <ns1:retrieveProductResponse xmlns:ns1='java:com.rtn.ejb' 
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
   cid:result=realData.xml@rtn.com
  </ns1:retrieveProductResponse>
 </env:Body>
</env:Envelope>
------=_Part_2_150842.1153240403820
Content-Type: text/xml
Content-Transfer-Encoding: binary
Content-Id: <[EMAIL PROTECTED]>

<?xml version="1.0" encoding="UTF-8"?>
<!-- test example of an XML attachment -->
hello, world!

------=_Part_2_150842.1153240403820--

However, using a TCP Monitor program it appears that the SOAPMessage isn't 
getting onto the wire properly.  

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
X-Powered-By: Servlet 2.4; JBoss-4.0.4.GA (build: CVSTag=JBoss_4_0_4_GA 
date=200605151000)/Tomcat-5.5
Set-Cookie: JSESSIONID=0764D1BC6FB60F654B3E38ECAEF7F36F; Path=/
Content-Type: text/xml;charset=UTF-8
Transfer-Encoding: chunked
Date: Tue, 18 Jul 2006 23:05:05 GMT

<env:Envelope 
xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'><env:Header/>
<env:Body><ns1:retrieveProductResponse xmlns:ns1='java:com.rtn.ejb' 
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>cid:result=realData.xml@rtn.com

</ns1:retrieveProductResponse>
</env:Body>
</env:Envelope>

Somehow JBOSS is not saving my attachment or it is reverting to the SOAP 
message as it existed before the handler got invoked...?

I am disappointed to find very little information regarding this and EJB 
endpoints on the Web.  I have created a sample ANT script and test case and can 
provide it for evaluation.  If anyone has implemented something like this 
please let me know what I'm doing wrong.

Thanks,
~Max

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3958979#3958979

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3958979
_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to