Thanks Freeman.  But shouldn't the endpoint match the port name of the
external wsdl file?  I tried doing that but it didn't work.  One direction
we might go is to create one more service assembly which will only contain
the provider endpoint definition sort of acting as a common SA and remove
all the provider endpoint definitions from the other 4 service assemblies. 
During deployment we'll deploy the common SA first then the remainder SA's. 
I'll post how that approach goes.




Freeman Fang wrote:
> 
> Hi,
> 
> How about you try to use something like
> <http:endpoint role="provider" service="trafficInfo:TrafficService"
>               endpoint="TrafficPortN"
> for your http provider endpoint N?
> 
> Freeman
> On 2009-8-26, at 上午10:45, angeloNZ wrote:
> 
>>
>> I have an external soap web service whose wsdl has 4 operations  
>> defined.  Our
>> original architecture approach is to create 4 separate service  
>> assemblies
>> for each of the operation to allow us to be able to stop/start each  
>> service
>> assembly without affecting the other ones.
>>
>> Each service assembly contains a static consumer and provider wsdl
>> pertaining to one operation of the external web service.  The  
>> problem we're
>> having is ending up with duplicate service and endpoint names for the
>> provider binding component of the service assemblies.  This is  
>> because the
>> external web service wsdl has only 1 service and port definition,  
>> and all
>> the provider binding component definitions use the same service name  
>> and
>> port name to map correctly to the external web service.  This  
>> results in
>> getting duplicate endpoint messages when deploying all service  
>> assemblies.
>> Any suggestions would be appreciated.
>>
>> Here's the external web service wsdl excerpt:
>>
>> <binding name="TrafficPortBinding" type="tns:Traffic">
>>      <soap:binding transport="http://schemas.xmlsoap.org/soap/http";
>> style="document"/>
>>      <operation name="getTrafficConditions">
>>         ...
>>      </operation>
>>      <operation name="getCameras">
>>         ...
>>      </operation>
>>      <operation name="getSigns">
>>         ...
>>      </operation>
>>      <operation name="getWindConditions">
>>         ...
>>      </operation>
>>   </binding>
>>   <service name="TrafficService">
>>      <port name="TrafficPort" binding="tns:TrafficPortBinding">
>>         <soap:address
>> location="http://traffic.transit.govt.nz:80/service/TrafficService"/>
>>      </port>
>>   </service>
>>
>> Here is the provider endpoint definition that is present in the  
>> xbean.xml of
>> the 4 service assemblies:
>>
>> <http:endpoint role="provider" service="trafficInfo:TrafficService"
>>              endpoint="TrafficPort" 
>> locationURI="${vms.internal.soap.service}"
>>              
>> wsdlResource="classpath:VariableMessageSignsInternalProvider.wsdl"
>> soap="true" soapVersion="1.1" />
>>
>>
>>
>>
>> -- 
>> View this message in context:
>> http://www.nabble.com/Duplicate-endpoint-problem-for-multi-operation-wsdl-tp25145671p25145671.html
>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>
> 
> 
> -- 
> Freeman Fang
> Apache Servicemix Commiter/PMC membeer
> Apache Cxf Commiter/PMC member
> Apache Felix Commiter
> 
> ------------------------
> Open Source SOA: http://fusesource.com
> 
> 
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Duplicate-endpoint-problem-for-multi-operation-wsdl-tp25145671p25145955.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to