Hi Guillaume,
what should I change in my class if I wish use JAX-WS annotation?
The fact is that the WSDL and the class are auto-generated from a user
description than I need to preseve, or better I prefer, preserves names
given by the user.
I try to understand it from examples or from internet tutorials, but
having
not much time carry me to understand less tha I need.
Thank you very much, regards
Simone
----- Original Message -----
From: "Guillaume Nodet" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Monday, March 31, 2008 9:06 AM
Subject: Re: R: Spring Pojo return
> Well, if you don't use JAXB2 annotations or JAX-WS, there's no way for
you
> to control the exact schema in an RPC mode. So I would suggest to make
> sure
> your WSDL generator create a WSDL that is compatible with what XFire
> expects. You could also just use the one generated by the
> servicemix-jsr181
> component which should be ok.
>
> On Sat, Mar 29, 2008 at 8:46 AM, <[EMAIL PROTECTED]> wrote:
>
>> Hi Guillaume,
>> I generate the wsdl with my own Java program from an XML
>> description
>> as
>> I do with the Java class because I found some problems with the tool
>> in
>> axis2 and I prefer create it from the scratch, using my class.
>> If there is a simple way to correct the error using jsr181 please tell
>> me,
>> instead I've to change something more in my thesis, in fact it
generate,
>> starting from an XML description the SA in an automatic way.
>> I add: my POJO is not annotated.
>> Thank you very much, regards
>> Simone
>>
>>
>> -----Messaggio originale-----
>> Da: Guillaume Nodet [mailto:[EMAIL PROTECTED]
>> Inviato: sab 29/03/2008 7.59
>> A: [email protected]
>> Oggetto: Re: Spring Pojo return
>>
>> Do you use a wsdl2java tool or is the wsdl generated by the component
>> from
>> the java pojo ?
>> It seems just a problem in the wsdl generation. Anyway, xfire, which
is
>> used internally in jsr181 is not developped anymore so if would advise
to
>> use the servicemix-cxf-se instead.
>>
>> On Fri, Mar 28, 2008 at 11:06 PM, Simone Maletta <
[EMAIL PROTECTED]>
>> wrote:
>>
>> >
>> > Hi Guillaume,
>> > I try to add style="rpc" and to add wsdlResource="classpath:
>> CCCheck.wsdl
>> > "
>> > to my own <jsr1181:endpoint/> here is the error I got on servicemix
>> > console:
>> >
>> > INFO - DefaultFaultHandler - Fault occurred!
>> > org.codehaus.xfire.fault.XFireFault: Parameter c does not exist!
>> > at
>> > org.codehaus.xfire.service.binding.RPCBinding.readMessage(
>> RPCBinding.java
>> > :87)
>> > at
>> > org.codehaus.xfire.soap.handler.SoapBodyHandler.invoke(
>> > SoapBodyHandler.java:42)
>> > at
>> > org.codehaus.xfire.handler.HandlerPipeline.invoke(
HandlerPipeline.java
>> > :131)
>> > at
>> > org.codehaus.xfire.transport.DefaultEndpoint.onReceive(
>> > DefaultEndpoint.java:64)
>> > at
>> > org.codehaus.xfire.transport.AbstractChannel.receive(
>> AbstractChannel.java
>> > :38)
>> > at
>> > org.apache.servicemix.jsr181.Jsr181ExchangeProcessor.process(
>> > Jsr181ExchangeProcessor.java:114)
>> > at
>> > org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(
>> > AsyncBaseLifeCycle.java:489)
>> > at
>> > org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(
>> > AsyncBaseLifeCycle.java:441)
>> > at
>> > org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(
>> > BaseLifeCycle.java:46)
>> > at
>> >
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(
>> > DeliveryChannelImpl.java:595)
>> > at
>> > org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(
>> > AbstractFlow.java:174)
>> > at
>> > org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(
SedaFlow.java
>> > :176)
>> > at
>> > org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(
SedaQueue.java
>> > :134)
>> > at
>> >
>> >
>>
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask
>> > (ThreadPoolExecutor.java:665)
>> > at
>> >
>> >
>>
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run
>> > (ThreadPoolExecutor.java:690)
>> > at java.lang.Thread.run(Thread.java:619)
>> >
>> >
>> > and here the fault message I receive in the invoking console:
>> >
>> > <?xml version='1.0' encoding='UTF-8'?><SOAP-ENV:Envelope
>> > xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/
>> >
>>
"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Client</faultcode><faultstring>Parameter
>> > c does not
>> > exist!</faultstring><detail><stack>
org.codehaus.xfire.fault.XFireFault:
>> > Parameter c does not exist!
>> > at
>> > org.codehaus.xfire.service.binding.RPCBinding.readMessage(
>> RPCBinding.java
>> > :87)
>> > at
>> > org.codehaus.xfire.soap.handler.SoapBodyHandler.invoke(
>> > SoapBodyHandler.java:42)
>> > at
>> > org.codehaus.xfire.handler.HandlerPipeline.invoke(
HandlerPipeline.java
>> > :131)
>> > at
>> > org.codehaus.xfire.transport.DefaultEndpoint.onReceive(
>> > DefaultEndpoint.java:64)
>> > at
>> > org.codehaus.xfire.transport.AbstractChannel.receive(
>> AbstractChannel.java
>> > :38)
>> > at
>> > org.apache.servicemix.jsr181.Jsr181ExchangeProcessor.process(
>> > Jsr181ExchangeProcessor.java:114)
>> > at
>> > org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(
>> > AsyncBaseLifeCycle.java:489)
>> > at
>> > org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(
>> > AsyncBaseLifeCycle.java:441)
>> > at
>> > org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(
>> > BaseLifeCycle.java:46)
>> > at
>> >
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(
>> > DeliveryChannelImpl.java:595)
>> > at
>> > org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(
>> > AbstractFlow.java:174)
>> > at
>> > org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(
SedaFlow.java
>> > :176)
>> > at
>> > org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(
SedaQueue.java
>> > :134)
>> > at
>> >
>> >
>>
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask
>> > (ThreadPoolExecutor.java:665)
>> > at
>> >
>> >
>>
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run
>> > (ThreadPoolExecutor.java:690)
>> > at java.lang.Thread.run(Thread.java:619)
>> >
</stack></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
>> >
>> > but now with my browser I may read the wsdl I wrote.
>> > Here is the package file:
>> >
>> > --CCCheck-sa.jar
>> > |
>> > |------CCCheck-http-su.jar
>> > | |
>> > | |------CCCheck.wsdl
>> > | \
>> > |
>> > |-------CCCheck-jsr181-su.jar
>> > | |
>> > | |-----*.class
>> > | |-----CCCheck.wsdl
>> > | |-----xbean.xml
>> > | \
>> > \
>> >
>> > Have you got any idea?? Please help me!!!
>> > Thank you very much, regards
>> >
>> > Simone
>> >
>> >
>> > gnodet wrote:
>> > >
>> > > Have you tried with style="rpc" on the <jsr181:endpoint/> element
>> > > ?
>> > >
>> > > On Fri, Mar 28, 2008 at 9:40 AM, <[EMAIL PROTECTED]> wrote:
>> > >
>> > >> Hi guys,
>> > >> I observe a strange thing using my developed work:
>> > >> I create a WebService from a Spring Pojo bean and I developed it
on
>> > >> ServiceMix using servicemix-jsr181 component.
>> > >> The strangers come using it: in fact I invoke it using sendsoap
>> > >> an
a
>> > >> message that agree with the wsdl, for example:
>> > >>
>> > >> <SOAP-ENV:Envelope xmlns:SOAP-ENV="
>> > >> http://schemas.xmlsoap.org/soap/envelope/" >
>> > >> <SOAP-ENV:Body>
>> > >> <ns1:cccheck xmlns:ns1="http://localhost:8080/CCCheck">
>> > >> <c>3</c>
>> > >> </ns1:cccheck>
>> > >> </SOAP-ENV:Body>
>> > >> </SOAP-ENV:Envelope>
>> > >>
>> > >> and my return is:
>> > >>
>> > >> <?xml version='1.0' encoding='UTF-8'?><SOAP-ENV:Envelope
>> > xmlns:SOAP-ENV="
>> > >> http://schemas.xmlsoap.org/soap/envelope/
>> > "><SOAP-ENV:Body><cccheckResponse
>> > >> xmlns="http://localhost:8080/CCCheck"><out xmlns="
>> > >> http://localhost:8080/CCCheck
>> > >>
">false</out></cccheckResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
>> > >>
>> > >> That disagrees with the wsdl in fact I was waiting for a <app>
>> > >> tag
>> into
>> > >> <cccheckResponse> one: here is the wsdl
>> > >>
>> > >> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
>> > >> <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>> > >> xmlns="http://schemas.xmlsoap.org/wsdl/"
>> > >> xmlns:smix="http://servicemix.org/wsdl/jbi/"
>> > >>
>> > >> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
>> > >> xmlns:tns="http://localhost:8080/CCCheck"
>> > >> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>> > >>
>> > >> xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype
>> > >> "
>> > >> targetNamespace="http://localhost:8080/CCCheck">
>> > >>
>> > >> <wsdl:message name="cccheckRequestMessage">
>> > >> <wsdl:part name="c" type="xsd:integer"/>
>> > >> </wsdl:message>
>> > >>
>> > >> <wsdl:message name="cccheckResponseMessage">
>> > >> <wsdl:part name="app" type="xsd:boolean"/>
>> > >> </wsdl:message>
>> > >>
>> > >> <wsdl:portType name="cccheckPortType">
>> > >> <wsdl:operation name="cccheck">
>> > >> <wsdl:input
>> message="tns:cccheckRequestMessage"
>> > >> name="cccheckRequest"/>
>> > >> <wsdl:output
>> > message="tns:cccheckResponseMessage"
>> > >> name="cccheckResponse"/>
>> > >> </wsdl:operation>
>> > >> </wsdl:portType>
>> > >>
>> > >> <wsdl:binding name="cccheckSOAPBinding"
>> > >> type="tns:cccheckPortType"><soap:binding style="rpc" transport="
>> > >> http://schemas.xmlsoap.org/soap/http"/>
>> > >> <wsdl:operation name="cccheck">
>> > >> <soap:operation name="cccheck"
soapAction=""
>> > >> style="rpc"/>
>> > >> <wsdl:input>
>> > >> <soap:body namespace="
>> > >> http://localhost:8080/CCCheck" use="literal"/>
>> > >> </wsdl:input>
>> > >> <wsdl:output>
>> > >> <soap:body namespace="
>> > >> http://localhost:8080/CCCheck" use="literal"/>
>> > >> </wsdl:output>
>> > >> </wsdl:operation>
>> > >> </wsdl:binding>
>> > >>
>> > >> <wsdl:service name="CCCheckService">
>> > >> <wsdl:port binding="tns:cccheckSOAPBinding"
>> > >> name="cccheckPort">
>> > >> <soap:address location="
>> > >> http://localhost:8080/CCCheck"/>
>> > >> <smix:endpoint defaultMep="in-out"
>> > >> role="consumer"/>
>> > >> </wsdl:port>
>> > >> </wsdl:service>
>> > >>
>> > >> <plnk:partnerLinkType name="CCCheckPartnerLinkType">
>> > >> <plnk:role name="CCCheckRole"
>> > >> portType="tns:cccheckPortType"/>
>> > >> </plnk:partnerLinkType>
>> > >> </wsdl:definitions>
>> > >>
>> > >>
>> > >> Using it directly may seems a silliness but I invoke this ws from
a
>> > BPEL
>> > >> and reading the response fails for this problem!!!
>> > >> To be clearest I attach here the xbean.xml too:
>> > >>
>> > >> <?xml version="1.0" encoding="UTF-8" standalone="no"?><beans
>> > xmlns:aop="
>> > >> http://www.springframework.org/schema/aop" xmlns:jsr181="
>> > >> http://servicemix.apache.org/jsr181/1.0" xmlns:tx="
>> > >> http://www.springframework.org/schema/tx" xmlns:wsdl="
>> > >> http://localhost:8080/CCCheck">
>> > >> <jsr181:endpoint annotations="none"
>> > service="wsdl:CCCheckService"
>> > >> serviceInterface="CCCheckInterface" endpoint="CCCheckPort">
>> > >> <jsr181:pojo>
>> > >> <bean class="CCCheck"
>> > >> id="cccheckService"/>
>> > >> <tx:advice id="txAdvice">
>> > >> <tx:attributes>
>> > >> <tx:method name="cccheck"
>> > >> readOnly="true"/>
>> > >> </tx:attributes>
>> > >> </tx:advice>
>> > >> <aop:config>
>> > >> <aop:pointcut
>> > >> expression="excecution(*CCCheck.*(...))"
>> id="cccheckServiceOperation"/>
>> > >> <aop:advisor advice-ref="txAdvice"
>> > >> pointcut-ref="cccheckServiceOperation"/>
>> > >> </aop:config>
>> > >> </jsr181:pojo>
>> > >> </jsr181:endpoint>
>> > >> </beans>
>> > >>
>> > >> There is someone may give me an explanation and a way to bypass
this
>> > >> problem?
>> > >> Thank you all in advance guys,
>> > >> regards
>> > >>
>> > >> Simone
>> > >>
>> > >
>> > >
>> > >
>> > > --
>> > > Cheers,
>> > > Guillaume Nodet
>> > > ------------------------
>> > > Blog: http://gnodet.blogspot.com/
>> > >
>> > >
>> >
>> > --
>> > View this message in context:
>> >
http://www.nabble.com/Spring-Pojo-return-tp16347855s12049p16363130.html
>> > Sent from the ServiceMix - User mailing list archive at Nabble.com.
>> >
>> >
>>
>>
>> --
>> Cheers,
>> Guillaume Nodet
>> ------------------------
>> Blog: http://gnodet.blogspot.com/
>>
>>
>
>
> --
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
>