I think the reason that when you view the WSDL via "
https://wkengchoi.global.sdl.corp:9443/fedizidpsts/STSService?wsdl"; you
only see the correct address for the "TransportUT_Port" is that
"/STSService" is the address defined for the TransportUT_Port in
cxf-transport.xml. If you want to see the correct address for the
"Transport_Port" in cxf-transport.xml you would use the WSDL location "
https://wkengchoi.global.sdl.corp:9443/fedizidpsts/STSServiceTransport?wsdl";
etc.

Colm.

On Wed, Jul 11, 2012 at 12:43 PM, Gina Choi <[email protected]> wrote:

> Following is what I have.
>
>    <jaxws:client name="{
> http://www.example.org/contract/DoubleIt}DoubleItPort";
> createdFromAPI="true">
>        <jaxws:properties>
>            <!-- Use below for UT Authentication between WSC and STS -->
>            <entry key="ws-security.sts.client">
>                <bean class="org.apache.cxf.ws.security.trust.STSClient">
>                    <constructor-arg ref="cxf"/>
>                    <property name="wsdlLocation" value="
> http://wkengchoi.global.sdl.corp:9080/fedizidpsts/STSService?wsdl"/>
>                    <property name="serviceName" value="{
> http://docs.oasis-open.org/ws-sx/ws-trust/200512/}SecurityTokenService"/>
>                    <property name="endpointName" value="{
> http://docs.oasis-open.org/ws-sx/ws-trust/200512/}UTEncrypted_Port"/>
>                    <property name="properties">
>                        <map>
>                            <entry key="ws-security.username"
> value="gchoi"/>
>                            <entry key="ws-security.callback-handler"
> value="client.ClientCallbackHandler"/>
>                            <entry key="ws-security.encryption.properties"
> value="clientKeystore.properties"/>
>                            <entry key="ws-security.encryption.username"
> value="mystskey"/>
>                        </map>
>                    </property>
>                </bean>
>            </entry>
>        </jaxws:properties>
>    </jaxws:client>
> </beans>
>
>
> On Wed, Jul 11, 2012 at 7:24 AM, Colm O hEigeartaigh 
> <[email protected]>wrote:
>
>>
>> What does your client configuration look like for this case?
>>
>> Colm.
>>
>>
>> On Wed, Jul 11, 2012 at 11:58 AM, Gina Choi <[email protected]> wrote:
>>
>>> Hi Colm,
>>>
>>> Thanks for confirmation. If I browse(
>>> https://wkengchoi.global.sdl.corp:9443/fedizidpsts/STSService?wsdl)
>>> Fediz STS wsdl file, I see following content. As you noticed that except 
>>> TransportUT_Port,
>>> soap address for port UTEncrypted_Por, UT_Port and Transport_Port are
>>> relative address(TransportKerberos_Port seems not ready. I might
>>> comment this out).
>>>
>>>
>>>   <wsdl:service name="SecurityTokenService">
>>>
>>>     <wsdl:port binding="wstrust:X509_Binding" name="X509_Port">
>>>
>>>       <soap:address location="/X509"/>
>>>
>>>     </wsdl:port>
>>>
>>>     <wsdl:port binding="wstrust:TransportUT_Binding"
>>> name="TransportUT_Port">
>>>
>>>       <soap:address location="
>>> https://wkengchoi.global.sdl.corp:9443/fedizidpsts/STSService"/>
>>>
>>>     </wsdl:port>
>>>
>>>     <wsdl:port binding="wstrust:TransportKerberos_Binding"
>>> name="TransportKerberos_Port">
>>>
>>>       <soap:address location="
>>> http://wkengchoi.global.sdl.corp:9080/jaxws-sts/sts"/>
>>>
>>>     </wsdl:port>
>>>
>>>     <wsdl:port binding="wstrust:UTEncrypted_Binding"
>>> name="UTEncrypted_Port">
>>>
>>>       <soap:address location="/UTEncrypted"/>
>>>
>>>     </wsdl:port>
>>>
>>>     <wsdl:port binding="wstrust:Transport_Binding"
>>> name="Transport_Port">
>>>
>>>       <soap:address location="/STSServiceTransport"/>
>>>
>>>     </wsdl:port>
>>>
>>>     <wsdl:port binding="wstrust:UT_Binding" name="UT_Port">
>>>
>>>       <soap:address location="/UT"/>
>>>
>>>     </wsdl:port>
>>>
>>>   </wsdl:service>
>>>
>>> Part of current configuration of my ws-trust-1.4-service.wsdl is as
>>> follow.
>>>
>>>   <wsdl:service name="SecurityTokenService">
>>>
>>>       <wsdl:port name="UT_Port" binding="tns:UT_Binding">
>>>
>>>          <soap:address location="
>>> http://wkengchoi.global.sdl.corp:9080/jaxws-sts/sts"; />
>>>
>>>       </wsdl:port>
>>>
>>>       <wsdl:port name="X509_Port" binding="tns:X509_Binding">
>>>
>>>          <soap:address location="
>>> http://wkengchoi.global.sdl.corp:9080/jaxws-sts/sts"; />
>>>
>>>       </wsdl:port>
>>>
>>>       <wsdl:port name="Transport_Port" binding="tns:Transport_Binding">
>>>
>>>          <soap:address location="
>>> http://wkengchoi.global.sdl.corp:9080/jaxws-sts/sts"; />
>>>
>>>       </wsdl:port>
>>>
>>>        <wsdl:port name="UTEncrypted_Port"
>>> binding="tns:UTEncrypted_Binding">
>>>
>>>          <soap:address location="
>>> http://wkengchoi.global.sdl.corp:9080/jaxws-sts/sts"; />
>>>
>>>       </wsdl:port>
>>>
>>>        <wsdl:port name="TransportUT_Port"
>>> binding="tns:TransportUT_Binding">
>>>
>>>          <soap:address location="
>>> http://wkengchoi.global.sdl.corp:9080/jaxws-sts/sts"; />
>>>
>>>       </wsdl:port>
>>>
>>>       <wsdl:port name="TransportKerberos_Port"
>>> binding="tns:TransportKerberos_Binding">
>>>
>>>          <soap:address location="
>>> http://wkengchoi.global.sdl.corp:9080/jaxws-sts/sts"; />
>>>
>>>       </wsdl:port>
>>>
>>>   </wsdl:service>
>>>
>>>
>>>
>>> When I run my client toward UTEncrypted_Port, I am getting following
>>> exception. So, it doesn't like relative address.
>>>
>>> Exception in thread "main" javax.xml.ws.WebServiceException: Could not
>>> send Message.
>>>         at
>>> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:145)
>>>         at $Proxy25.doubleIt(Unknown Source)
>>>         at client.WSClient.doubleIt(WSClient.java:18)
>>>         at client.WSClient.main(WSClient.java:11)
>>> *Caused by: java.net.MalformedURLException: no protocol: /UTEncrypted*
>>>         at java.net.URL.<init>(URL.java:567)
>>>         at java.net.URL.<init>(URL.java:464)
>>>         at java.net.URL.<init>(URL.java:413)
>>>         at
>>> org.apache.cxf.transport.http.HTTPConduit.getURL(HTTPConduit.java:752)
>>>         at
>>> org.apache.cxf.transport.http.HTTPConduit.getURL(HTTPConduit.java:741)
>>>         at
>>> org.apache.cxf.transport.http.HTTPConduit.setupURL(HTTPConduit.java:685)
>>>         at
>>> org.apache.cxf.transport.http.HTTPConduit.prepare(HTTPConduit.java:474)
>>>         at
>>> org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage(MessageSenderInterceptor.java:46)
>>>         at
>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)
>>>         at
>>> org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:532)
>>>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:464)
>>>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:367)
>>>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:320)
>>>         at
>>> org.apache.cxf.ws.security.trust.STSClient.requestSecurityToken(STSClient.java:722)
>>>         at
>>> org.apache.cxf.ws.security.trust.STSClient.requestSecurityToken(STSClient.java:602)
>>>         at
>>> org.apache.cxf.ws.security.trust.STSClient.requestSecurityToken(STSClient.java:594)
>>>         at
>>> org.apache.cxf.ws.security.policy.interceptors.IssuedTokenInterceptorProvider$IssuedTokenOutInterceptor.getTokenFromSTS(IssuedTokenInterceptorProvider.java:404)
>>>         at
>>> org.apache.cxf.ws.security.policy.interceptors.IssuedTokenInterceptorProvider$IssuedTokenOutInterceptor.handleMessage(IssuedTokenInterceptorProvider.java:188)
>>>         at
>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)
>>>         at
>>> org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:532)
>>>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:464)
>>>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:367)
>>>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:320)
>>>         at
>>> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:89)
>>>         at
>>> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:134)
>>>
>>> Thanks.
>>>
>>> Gina
>>>
>>


-- 
Colm O hEigeartaigh

Talend Community Coder
http://coders.talend.com

Reply via email to