First thanks for your explanation.
But it does not work. As long as I use methods without parameters everything
works fine.
I tried mailing a sample project but it was sorted out (of spam).
If I use a method like:
public CustomBean foo(String something)
axis2 gets problems. the output on tomcat side is:
----------------------------------------------------------------------------------------------------------------------------------
- Deploying module : addressing
- Error in loading service impl class for byte code reading :
de.ws.ComplexWS
- Error in schema generating :null
----------------------------------------------------------------------------------------------------------------------------------
and while requesting wsdl file the response is:
<?xml version="1.0" encoding="UTF-8" ?>
- <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header />
- <soapenv:Body>
- <soapenv:Fault>
<faultcode>Client</faultcode>
<faultstring>no scheam found for the service; nested exception is:
java.lang.Exception: no scheam found for the service</faultstring>
<faultactor>http://myAxisServer/role/default</faultactor>
- <detail>
<soapenv:Exception>org.apache.axis2.AxisFault: no scheam found for the
service; nested exception is: java.lang.Exception: no scheam found for the
service at
org.apache.axis2.description.AxisService.printUsingWOM(AxisService.java:373) at
org.apache.axis2.description.AxisService.printWSDL(AxisService.java:322) at
org.apache.axis2.transport.http.ListingAgent.listService(ListingAgent.java:469)
at org.apache.axis2.transport.http.ListingAgent.handle(ListingAgent.java:393)
at org.apache.axis2.transport.http.AxisServlet.doGet(AxisServlet.java:111) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:689) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595) Caused by: java.lang.Exception: no
scheam found for the service at
org.apache.axis2.description.AxisService2WOM.generateWOM(AxisService2WOM.java:86)
at
org.apache.axis2.description.AxisService.printUsingWOM(AxisService.java:362)
... 20 more</soapenv:Exception>
</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
Is something wrong with my axis installation?
Dominik
As long as I use parameterless operations
[email protected] schrieb am 25.01.06 08:25:04:
>
> the services.xml will look like below;
>
> <service name="MyService" >
> <description>
> This is my service
> </description>
> <messageReceivers>
> <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
>
> class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
> </messageReceivers>
> <parameter name="ServiceClass">Example</parameter>
> </service>
>
> >btw. must CustomBean implemente Serializable?
> no need , if that is JavaBean that is more enough :)
>
> Thanks,
> Deepal
> ................................................................
> ~Future is Open~
>
> ----- Original Message -----
> From: "SOA Work" <[EMAIL PROTECTED]>
> To: <[email protected]>
> Sent: Wednesday, January 25, 2006 1:01 PM
> Subject: Re: [Axis2] Rolling my own services.xml - how to define the in and
> out message so it appears in the WSDL.
>
>
>
> I agree. I didn't find good samples too. All samples in the userguide use
> the OMElements things.
> Could someone give me a services.xml what a class like this must look like
> in services.xml
>
> public class Example {
> public CustomBean getCustomBean(String name) {
> ...
> }
>
> public CustomBean getCustomBean(String name, String whatever) {
> ...
> }
>
> public CustomBean[] getAllBeans(String whatever) {
> ...
> }
> }
>
>
> btw. must CustomBean implemente Serializable? And more than one service
> defined in services.xml must be grouped with <serviceGroup>?
>
> [email protected] schrieb am 25.01.06 07:54:34:
> >
> >
> > Slowly the mysery services.xml becomes clearer. I succeeded using the
> > RPCMessageReceiver ;-).
> >
> > I tested the operation:
> >
> > public MyBean getBean() {..}
> >
> > with the coresponding entry in the services.xml:
> >
> > <service name="Complex">
> > <description>Complex example</description>
> > <messageReceivers>
> > <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
> > class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
> > </messageReceivers>
> > <parameter name="ServiceClass" locked="false">
> > Complex
> > </parameter>
> > <operation name="getBean"/>
> > </service>
> >
> > so far it worked. But now I added a parameter to the method. Something
> > like
> > that:
> >
> > public MyBean getBean(String name);
> >
> > and the service was broken. do i always have to define parameters if the
> > operation takes parameters? whats the syntax for <parameter>? could u
> > explain the example u gave below?
> >
> > Is there a documentation for services.xml somewhere? I like the axis2
> > architecture but without knowing about the services.xml it's kind of hard
> > to
> > use!
> >
> > greetings
> > peter
> >
> > > --- Ursprüngliche Nachricht ---
> > > Von: "Deepal Jayasinghe" <[EMAIL PROTECTED]>
> > > An: <[email protected]>
> > > Betreff: Re: [Axis2] Rolling my own services.xml - how to define the in
> > > and out message so it appears in the WSDL.
> > > Datum: Wed, 25 Jan 2006 09:35:46 +0600
> > >
> > > Hi Anders;
> > >
> > > RawXMLINOutMessageReceiver can handle only OMElement case , that is if
> > > the
> > > method take OMElment as input and give OMElement as output , if you want
> > > to
> > > work with other types , use RPCMessageReciver as message receiver and
> > > that
> > > guy can handle those cases , so if your java impl class is like below
> > >
> > > class MyService {
> > > public boolean getResult(String userName , String password){
> > > //do smt
> > > return true;
> > > }
> > > }
> > >
> > > then your sevrices.xml will look like below;
> > >
> > > <service name="ResultInfo">
> > > <description>
> > > Desc.....
> > > </description>
> > > <messageReceivers>
> > > <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
> > >
> > > class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
> > > </messageReceivers>
> > > <parameter name="ServiceClass"
> > > locked="false">com.acme.ResultInfo</parameter>
> > > <operation name="getResults">
> > > <message label="in">
> > > <parameter name="username" locked="false">username</parameter>
> > > <parameter name="password" locked="false">password</parameter>
> > > <parameter name="resultId" locked="false">foo</parameter>
> > > </message>
> > > <message label="out">
> > > <parameter name="result" locked="false">username</parameter>
> > > </message>
> > > </operation>
> > > </service>
> > >
> > >
> > > Thanks,
> > > Deepal
> > > ................................................................
> > > ~Future is Open~
> > >
> > > ----- Original Message -----
> > > From: "Anders Syvertsen" <[EMAIL PROTECTED]>
> > > To: <[email protected]>
> > > Sent: Tuesday, January 24, 2006 11:43 PM
> > > Subject: [Axis2] Rolling my own services.xml - how to define the in and
> > > out
> > > message so it appears in the WSDL.
> > >
> > >
> > > > Hi, i've download the Axis2 0.94 dist and trying to set up a
> > > > webservice.
> > > > I have successfully created my own .aar and deployed it, it was the
> > > > simplest type with a few lines in services.xml..
> > > >
> > > > Now i wonder, can i have a service class (the java impl),
> > > > // "Physical" method signature
> > > > public OMElement getResults(OMElement) {
> > > > .......
> > > > }
> > > > ..that "maps" to, in the WSDL, a method signature,
> > > > // "Logical" method signature
> > > > public String getResults(String username, String password, int
> > > resultId)
> > > > {
> > > > ..........
> > > > }
> > > >
> > > > Been trying to do some with services.xml for this like (with no
> > > success),
> > > > <service name="ResultInfo">
> > > > <description>
> > > > Desc.....
> > > > </description>
> > > > <parameter name="ServiceClass"
> > > > locked="false">com.acme.ResultInfo</parameter>
> > > > <operation name="getResults">
> > > > <messageReceiver
> > > > class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
> > > > <message label="in">
> > > > <parameter name="username"
> > > > locked="false">username</parameter>
> > > > <parameter name="password"
> > > > locked="false">password</parameter>
> > > > <parameter name="resultId" locked="false">foo</parameter>
> > > > </message>
> > > > <message label="out">
> > > > <parameter name="result" locked="false">username</parameter>
> > > > </message>
> > > > </operation>
> > > > </service>
> > > >
> > > > I dont know if what im asking is possible or not, but the idea is, as
> > > > mentioned, to produce
> > > > a WSDL that has the method signature i've tried to form in
> > > > services.xml
> > > > that should reflect the
> > > > "Logical" method signature, and route to the "Physical" method
> > > signature..
> > > >
> > > > Also, i've been trying to find the XSD for the services.xml with no
> > > luck.
> > > >
> > > > Regards, Anders
> > > >
> > >
> > >
> >
> > --
> > 10 GB Mailbox, 100 FreeSMS/Monat http://www.gmx.net/de/go/topmail
> > +++ GMX - die erste Adresse für Mail, Message, More +++
>
>
> __________________________________________________________________________
> Erweitern Sie FreeMail zu einem noch leistungsstarkeren E-Mail-Postfach!
> Mehr Infos unter http://freemail.web.de/home/landingpad/?mc=021131
>
>
>
______________________________________________________________
Verschicken Sie romantische, coole und witzige Bilder per SMS!
Jetzt bei WEB.DE FreeMail: http://f.web.de/?mc=021193