Hi,
I think we miss something here.
try to explain:
i've a wsdl where i've
1) Only one "port type" element ( wsdl:porType element )
2) two bindings soap11 soap12
3) two wsdl port, one for each binding on the same port.
Not really an expert of jbi but i think endpoint has 1-1 relation with
port type not with port, but maybe i'm wrong.
Any thought?
BTW not a real problem for me to configure two endpoint, i could just do
this automatically in my code generator
tool.
Andrea
Freeman Fang ha scritto:
Hi Andrea,
You mean one cxf bc consumer endpoint map to two ports in wsdl?
I don't think it's a good idea to do it. Since cxf bc consumer is a
jbi endpoint, and jbi specs use wsdl to describe the endpoint, and
one wsdl port is perfectly mapping to one jbi endpoint. If you have
two ports in wsdl, you should have two endpoints in jbi.
Regards
Freeman
Andrea Zoppello wrote:
Yeah Freeman i've understand very well this,
What i means here if it's possible to modify the code of the
CxfBcConusmer, so if there's only one CxfBcConusmerwith a wsdl with
two ports, could
automatically configure two Jetty context??
Andrea
Freeman Fang ha scritto:
Hi Andrea,
Yes, we can handle this directly in CxfBcConusmer, you need
configure two cxf bc consumer endpoint, one for soap11 and one for
soap12.
In your wsdl, you must have two ports associated with differenet
bindings, one for soap11 and one for soap12, right? So you can
configure two cxf bc consumer endpoints, whose endpoint name is the
port name from your wsdl, you can use same locationURI for those two
endpoint. By this way, both soap11 binding and soap12 binding is
supported with same locationURI.
Regards
Freeman
Andrea Zoppello wrote:
Hi,
It's just an idea, but if this is possible why not to handle this
directly in CxfBcConsumer??
Andrea
Freeman Fang ha scritto:
Hi Andrea,
Yeah, I have tried it.
You won't see the port already in use exception, since in cxf we
use jetty to publish the endpoint underlying, so jetty will take
care of it, something like different context handler for different
endpoint.
Regards
Freeman
Andrea Zoppello wrote:
Hi,
Are you sure have you tried???
In my opinion you'll have a port already in use exception.
Andrea
Freeman Fang ha scritto:
Hi Andrea,
Yeah, you can publish those two endpoints with same locationURI
with cxf as well.
Regards
Freeman
Andrea Zoppello wrote:
Yes i've just think about that could but in that case i must
use two different url ( one for each endpoint )
instead i want to use the same uri.
This is a very common use case in integrattion scenario, when
you need the same webservice supporting more bindings
With Axis2 this is possible, You shoul consider to add this
capabilities to cxf too.
Andrea
Freeman Fang ha scritto:
Hi Andrea,
You can expose same webservice both on soap11 and soap12 by
using two cxf bc consumer endpoint with different endpointName.
Regards
Freeman
Andrea Zoppello wrote:
Hi all,
I'm trying to expose using a cxf consumer a webservice that
must expose ( against the same port type )
two port ( one for soap 11 and one for soap 12 ).
The service part of the wsdl looks like:
<service name="DocumentRegistry_Service">
<port name="Service_Port_Soap11"
binding="tns:Service_Binding_Soap11">
<soap:address
location="http://servicelocation/DocumentRegistry_Service"/>
</port>
<port name="Service_Port_Soap12"
binding="tns:Service_Binding_Soap12">
<soap12:address
location="http://servicelocation/DocumentRegistry_Service"/>
</port>
</service>
This is perfectly legal ( in Axis2 this is possible ) but the
CXF Consumer code consider only one of the two ports
when you deploy the endoint, this means that with cxf at the
moment it's not possible to expose the same webservice both on
SOAP11 and SOAP12....
Any Idea on this??? In my opinion this is a limitation when
comparing cxf with axis.
Do you plan to solve that problem??
Andrea