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 "Howell, David" <da...@uleth.ca> on 2008/10/29 23:40:52 UTC

[Un]marshalling rpc/encoded SOAP body in Axis2 web service

Hi,

I'm developing a doc/literal Web service in Axis2 that needs to invoke a 3rd party Web service that uses the rpc/encoded style. From previous posts to this list it looks like my main options are:

1) Use Axis 1.4 to write a doc/literal service that is a wrapper around the 3rd party service, then invoke the wrapper from my Axis2 service.

2) Within my Axis2 web service use an instance of ServiceClient and deal directly with the OMElement instances that are the request and the response.

In order to compare the alternatives I'm trying to understand how to approach option 2). I'm already using Axiom rather than any form of data binding, so am OK with that part of things, but have had no luck tracking down some means of [un]marshalling to/from the SOAP encoded body element other than rolling my own implementation.

Does anyone have any pointers on how to do this? I realize that this isn't necessarily an Axis2 question, so if you want to point me at another list, thanks fine with me.

Thanks,

Dave

-----Original Message-----
From: Tian Chi [mailto:chi_tian@yahoo.com] 
Sent: Monday, October 13, 2008 7:32 PM
To: axis-user@ws.apache.org
Subject: RE: [Axis2]Help! How to create a SOAP service using Axis2 in my own webapp?


Thank you very much for your quick response, Ricky.
I'll start building the war file you mentioned.

Can I ask you two more questions about how to creat a SOAP service using Axis2?

Basically my client will just send a XML file with data using the SOAP service I'll provide him (an URL). From the document, I think the service names will be defined in the services.xml and associate with a java class with all the functions (services) there. My question is how in my class program to get the XML file my client posted?

I saw some example, it just pass the parameters using '?'

http://my-service-URL/getPrice?book=1234

But using SOAP, my client's XML file will be posted to my service program, How to get the XML document sent from my client to my service?

If it's too much to explain, do you know any online exmaples I can look into?

My 2nd question is
How to define the 'SOAPAction' in the service I'll create?

thank you again, 

-tian 


--- On Tue, 10/14/08, Ricky Murphy <ri...@hotmail.com> wrote:

> From: Ricky Murphy <ri...@hotmail.com>
> Subject: RE: [Axis2]Help! How to create a SOAP service using Axis2 in my own webapp?
> To: axis-user@ws.apache.org
> Date: Tuesday, October 14, 2008, 11:51 AM
> Right, there will be a lot of jars. Actually, your web
> application will end up like what makes axis2.war
> eventually. 
> you may remove all those admin related stuff from
> "your" app. Start with those made axis2.war, use
> all its directory structure and build your own app and
> "embed" axis2 inside.
> 
> HTH
> 
> -Ricky
> 
> 
> 
> > Date: Mon, 13 Oct 2008 17:38:14 -0700
> > From: chi_tian@yahoo.com
> > Subject: [Axis2]Help! How to create a SOAP service
> using Axis2 in my own webapp?
> > To: axis-user@ws.apache.org
> > 
> > MIME-Version: 1.0
> > Content-Type: text/plain; charset=iso-8859-1
> > Content-Transfer-Encoding: quoted-printable
> > 
> > Hi all, 
> > 
> > Sorry previous message is still in wrong text format, this is it again.
> > 
> > I'm a newbie on using Axis2. After reading through most of the documents on this site,
> > I still couldn't find the answer I need. I'd really apreciate it if someone can help me on this.
> > 
> > All Axis2 documents I read on this site are to build new web services/client using Axis2.
> > Currently I have already a big web app  in use and I need to add a SOAP service to
> > my web app using Axis2. Is that doable?  If yes, what are the steps to > > make that happen?
> > 
> > Is it possible to copy axis2.war into my servlet container (Resin)(both 'axis2' and 'myWebapp' directories under webapps directory) , create > > a SOAP service in the axis2 app and then forward the request (by deinfing the 'ServiceClass' parameter in services.xml?) to my own web app > > to handle some complicated database processes? It seems to me it's not > > doable.  Please don't laugh at me if this question is too sily. 
> > 
> > If the previous approach is not possible. The only other apprach I can > > think of is to embed Axis2 in my
> > own webapp. In that case, do I need to copy all the needed Axis2 jar files to my own web app in WEB-INF/lib directory? If so, what are the needed jar files for a SOAP service? 
> > Basically the SOAP service is receive data from my client, save it to > > database and respond to client with the results. There are many jar files in Axis2. I just hope to skip some unnecessary Axis2 jar files to avoid overhead since my own web app is already very big.
> > 
> > Besides the Axis2 jar files, what else needs to be done to embed a SOAP service in my own web app?
> > 
> > I'd really really appreciate it if someone gives me some guidance or shed some lights on this.
> > Hope to hear from you soon.
> > 
> > thank you very much,
> > 
> > -tian
> > 
> >
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail:
> axis-user-unsubscribe@ws.apache.org
> > For additional commands, e-mail:
> axis-user-help@ws.apache.org
> > 
> 
> _________________________________________________________________
> Want to do more with Windows Live? Learn “10 hidden
> secrets” from Jamie.
> http://windowslive.com/connect/post/jamiethomson.spaces.live.com-Blog-cns!550F681DAD532637!5295.entry?ocid=TXT_TAGLM_WL_domore_092008


      

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