You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cxf.apache.org by liucong <li...@gmail.com> on 2009/04/28 05:10:25 UTC

WSDL Usage for SOAP/JMS specification

Hi, All, Willem,

In the past several days, We have discussed the usage of JMS transport,
MTOM over SOAP/JMS. By debugging the code of CXF and JMS Transport, I
think I have know the overview of the CXF and JMS Transport.(Except
Spring configuration).

I want to learn another eara about WSDL usage for
SOAP/JMS(http://www.w3.org/TR/2008/WD-soapjms-20081121/#wsdl-extensions).
In the current JMS implementation, you use the WSDL extension to get the
WSDL information(Is it right?). In the SOAP/JMS specification, the
properties about SOAP/JMS can be placed in three places(Binding,
Serivce, Port). I should get these information.
There are several methods to finish it.
1. I parse the WSDL, and get information what I need. It is not good.
2. I use the WSDL extension to get information and SOAP/JMS URI.

After I get the information from WSDL. What I need to do is to parse
these information, and to get the right configuration which obey the
overriding rules specified in the SOAP/JMS spec.
The orerriding rules is: If a property is specified at multiple levels,
the most specific setting will take precedence (port first, then
service, then binding).

How can I get the WSDL information for SOAP/JMS specification? Are there
some methods to finish this job or help documentation?
Are the overriding rules already implementation in WSDL parser? If not,
I should consider how to implementation the orverriding rules easily.


Best regards
Liu

Re: WSDL Usage for SOAP/JMS specification

Posted by Willem Jiang <wi...@gmail.com>.
Hi,

CXF uses the WSDL4J to parser the WSDL, I think you just need to add the
the SOAP/JMS extension yourself.

I think the override rule is implemented by the CXF ServiceModel[1],
if you configure a interceptor on the bus , you can override it from
service, or from endpoint, etc.

So , you just need to make sure the you set the right information on the
ServiceModel.

[1]
http://cwiki.apache.org/CXF20DOC/cxf-architecture.html#CXFArchitecture-TheServiceModel

Willem


liucong wrote:
> Hi, All, Willem,
> 
> In the past several days, We have discussed the usage of JMS transport,
> MTOM over SOAP/JMS. By debugging the code of CXF and JMS Transport, I
> think I have know the overview of the CXF and JMS Transport.(Except
> Spring configuration).
> 
> I want to learn another eara about WSDL usage for
> SOAP/JMS(http://www.w3.org/TR/2008/WD-soapjms-20081121/#wsdl-extensions).
> In the current JMS implementation, you use the WSDL extension to get the
> WSDL information(Is it right?). In the SOAP/JMS specification, the
> properties about SOAP/JMS can be placed in three places(Binding,
> Serivce, Port). I should get these information.
> There are several methods to finish it.
> 1. I parse the WSDL, and get information what I need. It is not good.
> 2. I use the WSDL extension to get information and SOAP/JMS URI.
> 
> After I get the information from WSDL. What I need to do is to parse
> these information, and to get the right configuration which obey the
> overriding rules specified in the SOAP/JMS spec.
> The orerriding rules is: If a property is specified at multiple levels,
> the most specific setting will take precedence (port first, then
> service, then binding).
> 
> How can I get the WSDL information for SOAP/JMS specification? Are there
> some methods to finish this job or help documentation?
> Are the overriding rules already implementation in WSDL parser? If not,
> I should consider how to implementation the orverriding rules easily.
> 
> 
> Best regards
> Liu
> 


Re: WSDL Usage for SOAP/JMS specification

Posted by Daniel Kulp <dk...@apache.org>.
I think the place to look at would be the 
JMSOldConfigHolder.createJMSConfigurationFromEndpointInfo
method.     You'll probably need/want to create a similar method for the "new" 
style stuff.   In that method, you see the EndpointInfo is passed in and 
extensors are grabbed from there (would correspond to the wsdl port).    The 
EndpointInfo also holds onto it's ServiceInfo (wsdl service) and the 
BindingInfo (which would be the wsdl binding).   Thus, you should be able to 
grab the extensors from all the various locations and process them 
appropriately. 

Dan


On Mon April 27 2009 11:10:25 pm liucong wrote:
> Hi, All, Willem,
>
> In the past several days, We have discussed the usage of JMS transport,
> MTOM over SOAP/JMS. By debugging the code of CXF and JMS Transport, I
> think I have know the overview of the CXF and JMS Transport.(Except
> Spring configuration).
>
> I want to learn another eara about WSDL usage for
> SOAP/JMS(http://www.w3.org/TR/2008/WD-soapjms-20081121/#wsdl-extensions).
> In the current JMS implementation, you use the WSDL extension to get the
> WSDL information(Is it right?). In the SOAP/JMS specification, the
> properties about SOAP/JMS can be placed in three places(Binding,
> Serivce, Port). I should get these information.
> There are several methods to finish it.
> 1. I parse the WSDL, and get information what I need. It is not good.
> 2. I use the WSDL extension to get information and SOAP/JMS URI.
>
> After I get the information from WSDL. What I need to do is to parse
> these information, and to get the right configuration which obey the
> overriding rules specified in the SOAP/JMS spec.
> The orerriding rules is: If a property is specified at multiple levels,
> the most specific setting will take precedence (port first, then
> service, then binding).
>
> How can I get the WSDL information for SOAP/JMS specification? Are there
> some methods to finish this job or help documentation?
> Are the overriding rules already implementation in WSDL parser? If not,
> I should consider how to implementation the orverriding rules easily.
>
>
> Best regards
> Liu

-- 
Daniel Kulp
dkulp@apache.org
http://www.dankulp.com/blog