Why don't you adjust the WSDL to reflect what the component really send ? On Mon, Mar 31, 2008 at 1:04 PM, Simone Maletta <[EMAIL PROTECTED]> wrote:
> Hi Guillaume, > I've to be true: I have no time studing another component; i tried to > adeguate my wsdl but I'm having always the same problem: a selection > failure > in my bpel process reading the response coming from my pojo. > I do in a sequence two operations: a sync invoke and an assign operation > but > I've got a fault assignement: here is my bpel code: > > <invoke inputVariable="requestInvokeCCCheckMessage" operation="cccheck" > outputVariable="replyInvokeCCCheckMessage" [...]/> > <assign> > <copy> > <from part="out" variable="replyInvokeCCCheckMessage"/> > <to variable="approvedVariable"> > > and the assign falut; all I read on the monitor is > ASSIGN Fault. > Have you got any idea?? > Tahnk you, regards, Simone > > ----- Original Message ----- > From: "Guillaume Nodet" <[EMAIL PROTECTED]> > To: <[email protected]> > Sent: Monday, March 31, 2008 10:00 AM > Subject: Re: R: Spring Pojo return > > > > You can't really keep both the WSDL and the java class. If you use > JAXWS, > > you need to start from either the WSDL or the java interface and > generate > > the other using the provided tool. If you go that way, I would > recommand > > using the servicemix-cxfse instead of jsr181, because it is JAXWS > > compliant > > and XFire (hence servivemix-jsr181) is not. > > You can have a look at the cxf-wsdl-first example which shows the use of > > the > > CXF based components with a WSDL-first approach. > > > > On Mon, Mar 31, 2008 at 8:54 AM, Simone Maletta <[EMAIL PROTECTED]> > > wrote: > > > >> 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/ > >> > > >> > >> > > > > > > -- > > Cheers, > > Guillaume Nodet > > ------------------------ > > Blog: http://gnodet.blogspot.com/ > > > > -- Cheers, Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/
