but where can i set the params of the operation
willem.jiang wrote: > > Hey, > > You just need to change the <constant> part which your operation name. > > Willem > StonePeng wrote: >> thanks, usha Kanteti: >> in my use case ,i want to config the operation name and its param in xml >> instead of writing soap msg by hand,how can i do it in cxfEndpoint xml or >> camelContext xml? >> where can i set these contents? >> <setHeader headerName="operationName"> >> <constant>myOperation</constant> >> </setHeader> >> in the above xml, is the content of "headerName" operation name? and is >> the >> content of "constant" params? >> >> >> >> >> usha Kanteti wrote: >>> I use camel 2.2 and I read it somewhere that it can be done in the >>> following way >>> >>> <cxf:cxfEndpoint id="myWSEndpoint" >>> wsdlURL="META-INF/wsdl/your.wsdl" >>> address="${my.domain.service.url}" >>> endpointName="" >>> serviceName="" >>> xmlns:s="urn:...:wsdl" > >>> >>> <cxf:properties> >>> <entry key="dataFormat" value="MESSAGE"/> >>> </cxf:properties> >>> </cxf:cxfEndpoint> >>> >>> >>> <camelContext id="MyCamelContext" >>> xmlns="http://activemq.apache.org/camel/schema/spring"> >>> <route> >>> <from uri="activemq:queue/my/Queue" /> >>> >>> <setHeader headerName="operationName"> >>> <constant>myOperation</constant> >>> </setHeader> >>> <to uri="cxf:bean:myWSEndpoint" /> >>> </route> >>> </camelContext> >>> >>> >>> But the way I am doing is >>> >>> 1) created a mockservice against the WSDL in soapUI >>> 2) then we will see all the operations supported by that web-service in >>> soapUI with request object for each operation. >>> 3)when you are calling webservice, construct the request object in a >>> similar way (done in soapUI), then we don't need to specify operation >>> name >>> etc. ( we can ignore the <setHeader> tags ) >>> >>> >>> >>> willem.jiang wrote: >>>> Hi, >>>> >>>> CAMEL-2780 addressed this issue by introducing a defaultOperationName >>>> option for you. >>>> It's a new to camel 2.4.0, please feel free to try out the latest camel >>>> 2.4-SNAPSHOT for it. >>>> >>>> [1]https://issues.apache.org/activemq/browse/CAMEL-2780 >>>> >>>> Willem >>>> >>>> StonePeng wrote: >>>>> what is the answer about this question. i want to ask the same >>>>> question, >>>>> help >>>>> >>>>> >>>>> >>>>> usha Kanteti wrote: >>>>>> Hi Ashwin, >>>>>> Is there anywhere to specify ( to call specific method of >>>>>> web-service) >>>>>> like operationName="sayHello" in the following <cxf:Endpoint tag. >>>>>> >>>>>> That's what my question is. >>>>>> >>>>>> <cxf:Endpoint id="myEndpoint" >>>>>> address="http://localhost:8080/someService/" >>>>>> wsdlURL="../sr-binding/src/main/resources/META-INF/wsdl/someservice.wsdl" >>>>>> >>>>>> endpointName="s:myEndpointName" >>>>>> serviceName="s:myService" >>>>>> operationName="s:sayHello" >>>>>> xmlns:s="urn:some:company:some:service:wsdl" > >>>>>> <cxfroperties> >>>>>> <entry key="dataFormat" value="MESSAGE"/> >>>>>> </cxfroperties> >>>>>> </cxf:cxfEndpoint> >>>>>> >>>>>> if we can't it that way, can we specify the method name at routing >>>>>> time >>>>>> before we send the request message to the "myEndpoint" in the >>>>>> following >>>>>> code >>>>>> >>>>>> <route> >>>>>> <from uri="jms:queue:..." /> >>>>>> <to uri="cxf:bean:myEndpoint" /> >>>>>> </route> >>>>>> >>>>>> >>>>>> >>>>>> Ashwin Karpe wrote: >>>>>>> Hi, >>>>>>> >>>>>>> You do need to create a client to invoke on the CXF endpoint and >>>>>>> send >>>>>>> a >>>>>>> SOAP payload that can be used to call your method described in WSDL. >>>>>>> >>>>>>> If you do not want to write a client you could use a tool like >>>>>>> SoapUI >>>>>>> to >>>>>>> do this for you (since you already have the WSDL). >>>>>>> >>>>>>> Cheers, >>>>>>> >>>>>>> Ashwin... >>>>>>> >>>>>>> >>>>>>> usha K. wrote: >>>>>>>> I have the following cxfEndpoint configuration in the >>>>>>>> camel-context.xml >>>>>>>> which is a webservice end point, pointing to a 3rd party web >>>>>>>> service. >>>>>>>> >>>>>>>> I am wondering how I can specify (in this configuration) an >>>>>>>> operation >>>>>>>> with parameters to be passed to the webservice? As an example, I >>>>>>>> need >>>>>>>> to >>>>>>>> invoke the operation sayHello() in that webservice, passing two >>>>>>>> parameters (firstName, lastName). >>>>>>>> >>>>>>>> Can I do that in the cxfEndPoint itself? If so, how? Also, how can >>>>>>>> I >>>>>>>> pass the values itself? >>>>>>>> >>>>>>>> <cxf:cxfEndpoint id="myEndpoint" >>>>>>>> address="http://localhost:8080/someService/" >>>>>>>> wsdlURL="../sr-binding/src/main/resources/META-INF/wsdl/someservice.wsdl" >>>>>>>> >>>>>>>> endpointName="s:myEndpointName" >>>>>>>> serviceName="s:myService" >>>>>>>> xmlns:s="urn:some:company:some:service:wsdl" > >>>>>>>> <cxfroperties> >>>>>>>> <entry key="dataFormat" value="MESSAGE"/> >>>>>>>> </cxfroperties> >>>>>>>> </cxf:cxfEndpoint> >>>>>>>> >>>>>>>> OR do I have to write a client code on my side (where this end >>>>>>>> point >>>>>>>> points to)? >>>>>>>> >>>> >>>> >>> >> > > > -- View this message in context: http://old.nabble.com/How-to-invoke-specific-operation-with-params-for-cxf-webservice-endpoint-through-configuration-tp28023138p28838993.html Sent from the Camel - Users mailing list archive at Nabble.com.