----- Original Message ----- 
From: "Willem Jiang" <willem.ji...@gmail.com>
To: <users@cxf.apache.org>
Sent: Wednesday, December 28, 2011 4:29 PM
Subject: Re: Does CXF support multiple endpoint for single wsdl now?


> In this case you need to specify the two endpoint and publish them 
> separately.
> 
Yes, this is the only way I can do; and this is why I say the old version CXF 
doesn't support multi-port at runtime;

> The port of the wsdl is band to the CXF endpoint, you may need to do 
> some addition work to check the WSDL if you want to publish the service 
> from the WSDL automatically.
> 
I still have no idea about how to do; 

After hacking some code of CXF 2.3.3(not the latest version), I found it's very 
hard to support the feature I want, for example: the 
org.apache.cxf.service.invoke.Invoker is binding to 
org.apache.cxf.service.Service; so I am very hard to extending CXF to enable 
service to support mult-port, because if so, the invoker may not binding to 
service, it should be binding to port or endpoint;

> On 12/28/11 3:53 PM, xuhb wrote:
>> Thanks willem and Glen:
>>
>> I have tried, it seems I can only make CXF to publish a service with single 
>> port , I still cannot make CXF to publish a service with multi-port taking 
>> effect at same time;
>>
>> Also I have tried the example of CXF systest which support 
>> multiport(systests\ws-security\src\test\java\org\apache\cxf\systest\ws\security\Server.java)
>>
>> Following is the CXF systest 's wsdl, which contains 2 port. But the 
>> published service only has single port take effect;
>>   <wsdl:service name="GreeterService">
>>          <wsdl:port
>>              name="TimestampSignEncryptPort"
>>              binding="tns:Greeter_SOAPBinding">
>>              <soap:address
>>                  
>> location="http://localhost:9000/GreeterService/TimestampSignEncryptPort";
>>              />
>>          </wsdl:port>
>>          <wsdl:port
>>              name="UsernameTokenPort"
>>              binding="tns:Greeter_SOAPBinding">
>>              <soap:address
>>                  
>> location="http://localhost:9000/GreeterService/UsernameTokenPort";
>>              />
>>          </wsdl:port>
>>   </wsdl:service>
>>
>> When I run the example, I found when I trying to retrieve wsdl from 
>> http://mycomputername:9000/GreeterService/TimestampSignEncryptPort?wsdl only 
>> the TimestampSignEncryptPort will take effect (the address will be replaced 
>> as a correct url by cxf),
>> and also retrieve wsdl from 
>> http://mycomptername:9000/GreeterService/UsernameTokenPort?wsdl , only the 
>> UsernameTokenPort will take effect;
>>
>>
>> It seems the CXF doesn't publish a service for 2 port at same time, but  
>> just published two different service, and each service make one port taking 
>> effect and leave another aside
>>
> 
> 
> -- 
> Willem
> ----------------------------------
> FuseSource
> Web: http://www.fusesource.com
> Blog:    http://willemjiang.blogspot.com (English)
>          http://jnn.javaeye.com (Chinese)
> Twitter: willemjiang
> Weibo: willemjiang
> 
>

Reply via email to