axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Davanum Srinivas" <dava...@gmail.com>
Subject Re: [Axis2]saaj.SOAPConnectionImpl does not handle MimeHeaders (SOAPAction)
Date Fri, 11 Aug 2006 18:51:41 GMT
Jian,

Could you please open a bug/issue?

thanks,
dims

On 8/11/06, Jian.Wu <hellojianwu@gmail.com> wrote:
>
> Hi,
>
> I looked into org.apache.axis2.saaj.SOAPConnectionImpl.java in the
> Axis2 Source Repositoy, as the following code snippet shown, it
> never pass down MimeHeaders from SOAPMessage to the ServiceClient,
> so all the SOAPMessage sent out with SOAPAction as "", Is this a bug?
>
> ==========================================
>     public SOAPMessage call(SOAPMessage request, Object endpoint) throws
> SOAPException {
>
>         if (closed) {
>             throw new SOAPException("SOAPConnection closed");
>         }
>
>         // initialize URL
>         URL url;
>         try {
>             url = (endpoint instanceof URL) ? (URL) endpoint : new
> URL(endpoint.toString());
>         } catch (MalformedURLException e) {
>             throw new SOAPException(e);
>         }
>
>         // initialize and set Options
>         Options options = new Options();
>         options.setTo(new EndpointReference(url.toString()));
>
>         // initialize the Sender
>         OperationClient opClient;
>         try {
>             serviceClient = new ServiceClient();
>             opClient =
> serviceClient.createClient(ServiceClient.ANON_OUT_IN_OP);
>         } catch (AxisFault e) {
>             throw new SOAPException(e);
>         }
>         opClient.setOptions(options);
>
>         if (request.countAttachments() != 0) { // SOAPMessage with
> attachments
>
> opClient.getOptions().setProperty(Constants.Configuration.ENABLE_MTOM,
>                                               Constants.VALUE_TRUE);
>             return handleSOAPMessage(request, opClient);
>         } else { // simple SOAPMessage
>             return handleSOAPMessage(request, opClient);
>         }
>     }
>
> private SOAPMessage handleSOAPMessage(SOAPMessage request,
>                                           OperationClient opClient) throws
> SOAPException {
>
>         MessageContext requestMsgCtx = new MessageContext();
>         try {
>             requestMsgCtx.setEnvelope(toOMSOAPEnvelope(request));
>             opClient.addMessageContext(requestMsgCtx);
>             opClient.execute(true);
>
>             MessageContext msgCtx =
> opClient.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
>             //TODO: get attachments
>
>             return getSOAPMessage(msgCtx.getEnvelope());
>         } catch (AxisFault e) {
>             throw new SOAPException(e);
>         }
>     }
>
> protected org.apache.axiom.soap.SOAPEnvelope toOMSOAPEnvelope(SOAPMessage
> saajSOAPMsg)
>             throws SOAPException {
>
>         final org.apache.axiom.soap.SOAPEnvelope omSOAPEnv =
>
> SAAJUtil.toOMSOAPEnvelope(saajSOAPMsg.getSOAPPart().getDocumentElement());
>         System.err.println("#### req OM Soap Env=" + omSOAPEnv);
>
>         Map attachmentMap = new HashMap();
>         final Iterator attachments = saajSOAPMsg.getAttachments();
>         while (attachments.hasNext()) {
>             final AttachmentPart attachment = (AttachmentPart)
> attachments.next();
>             if (attachment.getContentId() == null ||
>                 attachment.getContentId().trim().length() == 0) {
>                 attachment.setContentId(IDGenerator.generateID());
>             }
>             if (attachment.getDataHandler() == null) {
>                 throw new SOAPException("Attachment with NULL DataHandler");
>             }
>             attachmentMap.put(attachment.getContentId(), attachment);
>         }
>
>         insertAttachmentNodes(attachmentMap, omSOAPEnv);
>
> //        printOMSOAPEnvelope(omSOAPEnv);
>
>         return omSOAPEnv;
>     }
> ======================================
>
> Thanks,
>
> Jian
> --
> View this message in context: http://www.nabble.com/-Axis2-saaj.SOAPConnectionImpl-does-not-handle-MimeHeaders-%28SOAPAction%29-tf2092238.html#a5767333
> Sent from the Axis - Dev forum at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-dev-help@ws.apache.org
>
>


-- 
Davanum Srinivas : http://www.wso2.net (Oxygen for Web Service Developers)

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


Mime
View raw message