You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Prasad Chaudhari <pr...@conject.com> on 2006/08/24 17:03:30 UTC

SOAP with Attachments (SwA) with Axis2, problem.

Hi All,

My client is having axis1.x SOAP client, who sends a file, for which I am
suppose to write a Webservice. I have decided to use axis 2.0 for this
service.

To get my axis 1.x SOAP client running with axis 2 SOAP Service, I was using
following tutorial.
http://ws.apache.org/axis2/1_0/mtom-guide.html

It says.

"Axis2 Handles SwA messages at the inflow only. When Axis2 receives a SwA
message it extracts the binary attachment parts and puts a reference to
those parts in the Message Context."

I understood this as following, if I send the SOAP message with attachment
using axis1.x client to the axis2 webservice. Axis2 will extract the binary
attachment and put an element into the xml like

<source href="cid:3936AE19FBED55AE4620B81C73BDD76E" xmlns="/>

and I can retrive this attachment from MessageContext.

But it does not work. The OMElement which I receive as a parameter to my
serviceMethod do not have this source element into it.  If I use following
code given in tutorial.

public OMElement echoAttachment(OMElement omEle) {
        OMElement child = (OMElement) omEle.getFirstOMChild(); or
OMElement child = element.getFirstChildWithName(new QName("source"));
        OMAttribute attr = child.getAttribute(new QName("href"));
        String contentID = attr.getAttributeValue();
..

Child element is always null(in case of both statements from the code
snippet)

Can somebody help me here.  Tutorial says above code has been tested with
axis1.x can somebody send me the test client in axis 1.x.

Thanks in advance.
-Prasad

Re: SOAP with Attachments (SwA) with Axis2, problem.

Posted by Prasad Chaudhari <pr...@conject.com>.
Just one addition to this, I am getting this exception while starting my
jboss, when jboss tries to deploy the webservice.

On 8/25/06, Prasad Chaudhari <pr...@conject.com> wrote:
>
> Hi,
>
> I am trying to get SOAP monitor started on my machine following the
> tutorial
> http://ws.apache.org/axis2/1_0/soapmonitor-module.html
>
> But I get following exception.
> 2006-08-25 13:04:10,133 INFO  [
> org.apache.axis2.deployment.WarBasedAxisConfigurator]
> org.apache.axis2.handlers.soapmonitor.SOAPMonitorHandler; nested exception
> is:
>         java.lang.ClassNotFoundException:
> org.apache.axis2.handlers.soapmonitor.SOAPMonitorHandler
> 2006-08-25 13:04:10,136 ERROR [org.apache.catalina.core.ContainerBase.[
> jboss.web].[localhost].[/ngaxis2]] Servlet /ngaxis2 threw load() exception
> java.lang.NullPointerException
>         at org.apache.axis2.deployment.WarBasedAxisConfigurator.<init>(
> WarBasedAxisConfigurator.java:81)
>
>
> To configure soapmonitor module
> I have made following changes:-
> axis2.xml
> i)Added
> <module ref="soapmonitor"/>
>
> ii)And appropriate phase element inside all 4 phase order elements.
>  One example
> <phase name="OperationInPhase"/>
>         <phase name="soapmonitorPhase">
>             <handler name="InFlowSOAPMonitorHandler" class="
> org.apache.axis2.handlers.soapmonitor.SOAPMonitorHandler">
>             <order phase="soapmonitorPhase"/>
>         </handler>
>         </phase>
>
> Services.xml
>
> <serviceGroup>
>     <service name = "ProjectService">
>         <description>
>             This is a sample Web Service
>         </description>
>         <parameter name="ServiceClass" locked="false">
> com.conject.ng.axis2.ProjectWebService</parameter>
>          <operation name="createProjectUsingTemplate">
>         <messageReceiver  class="
> org.apache.axis2.receivers.RawXMLINOutMessageReceiver" />
>         </operation>
>
>      </service>
>       <module ref="soapmonitor"/>
> </serviceGroup>
>
> Copied soapmonitor.mar to the /WEB-INF/modules directory.
>
> Am I missing something or doing wrong. Can anybody help.
>
> Best Regards,
> -Prasad
>
>
>
> On 8/24/06, robert lazarski <ro...@gmail.com> wrote:
> >
> > Try putting TCPMon or the soapmonitor on the request, post the soap
> > envelope the axis2 service receives, and maybe we can help.
> >
> > Robert
> > http://www.braziloutsource.com/
> >
> > On 8/24/06, Prasad Chaudhari <pr...@conject.com> wrote:
> > > Hi All,
> > >
> > >  My client is having axis1.x SOAP client, who sends a file, for which
> > I am
> > > suppose to write a Webservice. I have decided to use axis 2.0 for this
> > > service.
> > >
> > >  To get my axis 1.x SOAP client running with axis 2 SOAP Service, I
> > was
> > > using following tutorial.
> > >  http://ws.apache.org/axis2/1_0/mtom-guide.html
> > >
> > >  It says.
> > >
> > >  "Axis2 Handles SwA messages at the inflow only. When Axis2 receives a
> > SwA
> > > message it extracts the binary attachment parts and puts a reference
> > to
> > > those parts in the Message Context."
> > >
> > >  I understood this as following, if I send the SOAP message with
> > attachment
> > > using axis1.x client to the axis2 webservice. Axis2 will extract the
> > binary
> > > attachment and put an element into the xml like
> > >  <source href="cid:3936AE19FBED55AE4620B81C73BDD76E"
> > > xmlns="/>
> > >  and I can retrive this attachment from MessageContext.
> > >
> > >  But it does not work. The OMElement which I receive as a parameter to
> > my
> > > serviceMethod do not have this source element into it.  If I use
> > following
> > > code given in tutorial.
> > >
> > >  public OMElement echoAttachment(OMElement omEle) {
> > >  OMElement child = (OMElement) omEle.getFirstOMChild(); or OMElement
> > child =
> > > element.getFirstChildWithName (new QName("source"));
> > >  OMAttribute attr =
> > > child.getAttribute(new QName("href"));
> > >  String contentID = attr.getAttributeValue();
> > > ..
> > >
> > >
> > >  Child element is always null(in case of both statements from the code
> >
> > > snippet)
> > >
> > >  Can somebody help me here.  Tutorial says above code has been tested
> > with
> > > axis1.x can somebody send me the test client in axis 1.x.
> > >
> > >  Thanks in advance.
> > >  -Prasad
> > >
> > >
> > >
> >
> >
>

Re: SOAP with Attachments (SwA) with Axis2, problem.

Posted by Prasad Chaudhari <pr...@conject.com>.
Hi,

I am trying to get SOAP monitor started on my machine following the tutorial
http://ws.apache.org/axis2/1_0/soapmonitor-module.html

But I get following exception.
2006-08-25 13:04:10,133 INFO  [
org.apache.axis2.deployment.WarBasedAxisConfigurator]
org.apache.axis2.handlers.soapmonitor.SOAPMonitorHandler; nested exception
is:
        java.lang.ClassNotFoundException:
org.apache.axis2.handlers.soapmonitor.SOAPMonitorHandler
2006-08-25 13:04:10,136 ERROR [org.apache.catalina.core.ContainerBase.[
jboss.web].[localhost].[/ngaxis2]] Servlet /ngaxis2 threw load() exception
java.lang.NullPointerException
        at org.apache.axis2.deployment.WarBasedAxisConfigurator.<init>(
WarBasedAxisConfigurator.java:81)


To configure soapmonitor module
I have made following changes:-
axis2.xml
i)Added
<module ref="soapmonitor"/>

ii)And appropriate phase element inside all 4 phase order elements.
 One example
<phase name="OperationInPhase"/>
        <phase name="soapmonitorPhase">
            <handler name="InFlowSOAPMonitorHandler" class="
org.apache.axis2.handlers.soapmonitor.SOAPMonitorHandler">
            <order phase="soapmonitorPhase"/>
        </handler>
        </phase>

Services.xml

<serviceGroup>
    <service name = "ProjectService">
        <description>
            This is a sample Web Service
        </description>
        <parameter name="ServiceClass" locked="false">
com.conject.ng.axis2.ProjectWebService</parameter>
         <operation name="createProjectUsingTemplate">
        <messageReceiver  class="
org.apache.axis2.receivers.RawXMLINOutMessageReceiver" />
        </operation>

     </service>
      <module ref="soapmonitor"/>
</serviceGroup>

Copied soapmonitor.mar to the /WEB-INF/modules directory.

Am I missing something or doing wrong. Can anybody help.

Best Regards,
-Prasad


On 8/24/06, robert lazarski <ro...@gmail.com> wrote:
>
> Try putting TCPMon or the soapmonitor on the request, post the soap
> envelope the axis2 service receives, and maybe we can help.
>
> Robert
> http://www.braziloutsource.com/
>
> On 8/24/06, Prasad Chaudhari <pr...@conject.com> wrote:
> > Hi All,
> >
> >  My client is having axis1.x SOAP client, who sends a file, for which I
> am
> > suppose to write a Webservice. I have decided to use axis 2.0 for this
> > service.
> >
> >  To get my axis 1.x SOAP client running with axis 2 SOAP Service, I was
> > using following tutorial.
> >  http://ws.apache.org/axis2/1_0/mtom-guide.html
> >
> >  It says.
> >
> >  "Axis2 Handles SwA messages at the inflow only. When Axis2 receives a
> SwA
> > message it extracts the binary attachment parts and puts a reference to
> > those parts in the Message Context."
> >
> >  I understood this as following, if I send the SOAP message with
> attachment
> > using axis1.x client to the axis2 webservice. Axis2 will extract the
> binary
> > attachment and put an element into the xml like
> >  <source href="cid:3936AE19FBED55AE4620B81C73BDD76E"
> > xmlns="/>
> >  and I can retrive this attachment from MessageContext.
> >
> >  But it does not work. The OMElement which I receive as a parameter to
> my
> > serviceMethod do not have this source element into it.  If I use
> following
> > code given in tutorial.
> >
> >  public OMElement echoAttachment(OMElement omEle) {
> >  OMElement child = (OMElement) omEle.getFirstOMChild(); or OMElement
> child =
> > element.getFirstChildWithName(new QName("source"));
> >  OMAttribute attr =
> > child.getAttribute(new QName("href"));
> >  String contentID = attr.getAttributeValue();
> > ..
> >
> >
> >  Child element is always null(in case of both statements from the code
> > snippet)
> >
> >  Can somebody help me here.  Tutorial says above code has been tested
> with
> > axis1.x can somebody send me the test client in axis 1.x.
> >
> >  Thanks in advance.
> >  -Prasad
> >
> >
> >
>
>

Re: SOAP with Attachments (SwA) with Axis2, problem.

Posted by robert lazarski <ro...@gmail.com>.
Try putting TCPMon or the soapmonitor on the request, post the soap
envelope the axis2 service receives, and maybe we can help.

Robert
http://www.braziloutsource.com/

On 8/24/06, Prasad Chaudhari <pr...@conject.com> wrote:
> Hi All,
>
>  My client is having axis1.x SOAP client, who sends a file, for which I am
> suppose to write a Webservice. I have decided to use axis 2.0 for this
> service.
>
>  To get my axis 1.x SOAP client running with axis 2 SOAP Service, I was
> using following tutorial.
>  http://ws.apache.org/axis2/1_0/mtom-guide.html
>
>  It says.
>
>  "Axis2 Handles SwA messages at the inflow only. When Axis2 receives a SwA
> message it extracts the binary attachment parts and puts a reference to
> those parts in the Message Context."
>
>  I understood this as following, if I send the SOAP message with attachment
> using axis1.x client to the axis2 webservice. Axis2 will extract the binary
> attachment and put an element into the xml like
>  <source href="cid:3936AE19FBED55AE4620B81C73BDD76E"
> xmlns="/>
>  and I can retrive this attachment from MessageContext.
>
>  But it does not work. The OMElement which I receive as a parameter to my
> serviceMethod do not have this source element into it.  If I use following
> code given in tutorial.
>
>  public OMElement echoAttachment(OMElement omEle) {
>  OMElement child = (OMElement) omEle.getFirstOMChild(); or OMElement child =
> element.getFirstChildWithName(new QName("source"));
>  OMAttribute attr =
> child.getAttribute(new QName("href"));
>  String contentID = attr.getAttributeValue();
> ..
>
>
>  Child element is always null(in case of both statements from the code
> snippet)
>
>  Can somebody help me here.  Tutorial says above code has been tested with
> axis1.x can somebody send me the test client in axis 1.x.
>
>  Thanks in advance.
>  -Prasad
>
>
>

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