You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by "usha K." <u_...@yahoo.com> on 2010/03/25 03:53:25 UTC
How to invoke specific operation with params for cxf webservice
endpoint through configuration
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-tp28023138p28023138.html
Sent from the Camel - Users mailing list archive at Nabble.com.
Re: How to invoke specific operation with params for cxf webservice
endpoint through configuration
Posted by Willem Jiang <wi...@gmail.com>.
Oh, you are working in MESSAGE dataformat, which means you need to build
the request message yourself.
But if you want camel-cxf to generate the request for you, you need to
use CXF wsdl2java tool to build the artifacts with the WSDL first, then
you can follow the example[1] to invoke the service.
[1]http://camel.apache.org/cxf.html#CXF-HowtopreparethemessageforthecamelcxfendpointinPOJOdataformat
Willem
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)?
Re: How to invoke specific operation with params for cxf webservice
endpoint through configuration
Posted by Willem Jiang <wi...@gmail.com>.
If you just want to send a SOAP message which you already create, using
the camel-http component could be a best choice.
Willem
StonePeng wrote:
> i see, in fact this approach need write your codes to send operation and
> params to call the webservice that was defined in cxf:cxfEndpoint. it cant
> be completed work only through config file. the cxfEndpoint don't work until
> receive a message-driven that is a request SOAP msg.
> i think, it is the best and simplest approach to call the webservice only
> through HTTP endpoint.
>
>
>
> willem.jiang wrote:
>> The parameters are put into the message body, you can find the example
>> here[1]
>>
>> [1]
>> http://camel.apache.org/cxf.html#CXF-HowtopreparethemessageforthecamelcxfendpointinPOJOdataformat
>>
>> Willem
>>
>> StonePeng wrote:
>>> 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)?
>>>>>>>>>>>
>>>>
>>
>>
>
Re: How to invoke specific operation with params for cxf webservice
endpoint through configuration
Posted by StonePeng <ti...@tom.com>.
i see, in fact this approach need write your codes to send operation and
params to call the webservice that was defined in cxf:cxfEndpoint. it cant
be completed work only through config file. the cxfEndpoint don't work until
receive a message-driven that is a request SOAP msg.
i think, it is the best and simplest approach to call the webservice only
through HTTP endpoint.
willem.jiang wrote:
>
> The parameters are put into the message body, you can find the example
> here[1]
>
> [1]
> http://camel.apache.org/cxf.html#CXF-HowtopreparethemessageforthecamelcxfendpointinPOJOdataformat
>
> Willem
>
> StonePeng wrote:
>> 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-tp28023138p28840157.html
Sent from the Camel - Users mailing list archive at Nabble.com.
Re: How to invoke specific operation with params for cxf webservice
endpoint through configuration
Posted by Willem Jiang <wi...@gmail.com>.
The parameters are put into the message body, you can find the example
here[1]
[1]
http://camel.apache.org/cxf.html#CXF-HowtopreparethemessageforthecamelcxfendpointinPOJOdataformat
Willem
StonePeng wrote:
> 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)?
>>>>>>>>>
>>>>>
>>
>>
>
Re: How to invoke specific operation with params for cxf webservice
endpoint through configuration
Posted by StonePeng <ti...@tom.com>.
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.
Re: How to invoke specific operation with params for cxf webservice
endpoint through configuration
Posted by Willem Jiang <wi...@gmail.com>.
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)?
>>>>>>>
>>>
>>>
>>
>
Re: How to invoke specific operation with params for cxf webservice
endpoint through configuration
Posted by StonePeng <ti...@tom.com>.
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-tp28023138p28838120.html
Sent from the Camel - Users mailing list archive at Nabble.com.
Re: How to invoke specific operation with params for cxf webservice
endpoint through configuration
Posted by usha Kanteti <u_...@yahoo.com>.
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-tp28023138p28833137.html
Sent from the Camel - Users mailing list archive at Nabble.com.
Re: How to invoke specific operation with params for cxf webservice
endpoint through configuration
Posted by Willem Jiang <wi...@gmail.com>.
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)?
>>>>
>>>
>>
>
Re: How to invoke specific operation with params for cxf webservice
endpoint through configuration
Posted by StonePeng <ti...@tom.com>.
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-tp28023138p28828126.html
Sent from the Camel - Users mailing list archive at Nabble.com.
Re: How to invoke specific operation with params for cxf webservice
endpoint through configuration
Posted by "usha K." <u_...@yahoo.com>.
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-tp28023138p28027824.html
Sent from the Camel - Users mailing list archive at Nabble.com.
Re: How to invoke specific operation with params for cxf webservice
endpoint through configuration
Posted by Ashwin Karpe <as...@progress.com>.
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)?
>
-----
---
Ashwin Karpe, Principal Consultant, PS - Opensource Center of Competence
Progress Software Corporation
14 Oak Park Drive
Bedford, MA 01730
---
+1-972-304-9084 (Office)
+1-972-971-1700 (Mobile)
----
Blog: http://opensourceknowledge.blogspot.com/
--
View this message in context: http://old.nabble.com/How-to-invoke-specific-operation-with-params-for-cxf-webservice-endpoint-through-configuration-tp28023138p28023141.html
Sent from the Camel - Users mailing list archive at Nabble.com.