You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by arthurfiddich <ar...@gmail.com> on 2016/10/07 06:38:39 UTC
WS Federation client impl with CXF
I am very new to the ws-* support features. One of my customer gave a WSDL to
access their data. They are using Microsoft Identity Server for
authentication. I am using APACHE CXF library to develop this feature. I
read some document related to ws federation in CXF but I wasn't understand
the whole concept. I am posting my WSDL and client code and the error I am
getting. Can any one help me on this.?
Here the ws policy content from my WSDL
<wsp:Policy wsu:Id="WS2007FederationHttpBinding_IStoreService_policy">
<wsp:ExactlyOne>
<wsp:All>
<sp:TransportBinding
xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
<wsp:Policy>
<sp:TransportToken>
<wsp:Policy>
<sp:HttpsToken />
</wsp:Policy>
</sp:TransportToken>
<sp:AlgorithmSuite>
<wsp:Policy>
<sp:Basic256 />
</wsp:Policy>
</sp:AlgorithmSuite>
<sp:Layout>
<wsp:Policy>
<sp:Strict />
</wsp:Policy>
</sp:Layout>
<sp:IncludeTimestamp />
</wsp:Policy>
</sp:TransportBinding>
<sp:SignedSupportingTokens
xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
<wsp:Policy>
<sp:IssuedToken
sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
<Issuer
xmlns="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
<Address
xmlns="http://www.w3.org/2005/08/addressing">
https://slc.centershift.com/STS/issue/wstrust/mixed/username
</Address>
<Metadata
xmlns="http://www.w3.org/2005/08/addressing">
<Metadata
xmlns="http://schemas.xmlsoap.org/ws/2004/09/mex"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<wsx:MetadataSection xmlns="">
<wsx:MetadataReference>
<Address
xmlns="http://www.w3.org/2005/08/addressing">https://slc.centershift.com/STS/issue/mex</Address>
</wsx:MetadataReference>
</wsx:MetadataSection>
</Metadata>
</Metadata>
</Issuer>
<sp:RequestSecurityTokenTemplate>
<trust:KeyType
xmlns:trust="http://docs.oasis-open.org/ws-sx/ws-trust/200512">
http://docs.oasis-open.org/ws-sx/ws-trust/200512/Bearer
</trust:KeyType>
<trust:CanonicalizationAlgorithm
xmlns:trust="http://docs.oasis-open.org/ws-sx/ws-trust/200512">http://www.w3.org/2001/10/xml-exc-c14n#</trust:CanonicalizationAlgorithm>
<trust:EncryptionAlgorithm
xmlns:trust="http://docs.oasis-open.org/ws-sx/ws-trust/200512">http://www.w3.org/2001/04/xmlenc#aes256-cbc</trust:EncryptionAlgorithm>
</sp:RequestSecurityTokenTemplate>
<wsp:Policy>
<sp:RequireInternalReference />
</wsp:Policy>
</sp:IssuedToken>
</wsp:Policy>
</sp:SignedSupportingTokens>
<sp:Wss11
xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
<wsp:Policy />
</sp:Wss11>
<sp:Trust13
xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
<wsp:Policy>
<sp:MustSupportIssuedTokens />
<sp:RequireClientEntropy />
<sp:RequireServerEntropy />
</wsp:Policy>
</sp:Trust13>
<wsaw:UsingAddressing />
</wsp:All>
</wsp:ExactlyOne>
</wsp:Policy>
*Here is the service end-point:*
<wsdl:service name="StoreService">
<wsdl:port name="WS2007FederationHttpBinding_IStoreService"
binding="tns:WS2007FederationHttpBinding_IStoreService">
<soap12:address
location="https://slc.centershift.com/Store40/StoreService.svc" />
<wsa10:EndpointReference>
<wsa10:Address>
https://slc.centershift.com/Store40/StoreService.svc
</wsa10:Address>
</wsa10:EndpointReference>
</wsdl:port>
</wsdl:service>
*Client Code:*
import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;
import java.util.concurrent.Executors;
import javax.xml.ws.BindingProvider;
import javax.xml.ws.soap.AddressingFeature;
import
com.reputation.r4e.integrator.centershift.handler.CenterShiftServiceConfigurator;
import
com.reputation.r4e.integrator.centershift.sws2.ArrayOfParameterValues;
import
com.reputation.r4e.integrator.centershift.sws2.GetDataViewResponse.GetDataViewResult;
import com.reputation.r4e.integrator.centershift.sws2.GetDataView_Request;
import com.reputation.r4e.integrator.centershift.sws2.IStoreService;
import com.reputation.r4e.integrator.centershift.sws2.ParameterValues;
import com.reputation.r4e.integrator.centershift.sws2.StoreService;
public class CentershiftSws2Client {
CenterShiftServiceConfigurator serviceConfigurator;
public IStoreService service;
/**
* Get the Test service instance for use. If the instance does not
create
* yet, create it.
*
* @return The service instance
*/
public IStoreService getService() {
if (service == null) {
service = createTestOperationManagerInstance();
}
return service;
}
/**
* Creates and returns the instance of the {@link TestOperationManager}
*
* @return instance of the {@link TestOperationManager}
*/
public IStoreService createTestOperationManagerInstance() {
StoreService service = new
StoreService(getWsdlLocation(StoreService.WSDL_LOCATION));
service.setExecutor(Executors.newCachedThreadPool());
IStoreService testOperationManagerSoap = service
.getWS2007FederationHttpBindingIStoreService(new
AddressingFeature(true));
getServiceConfigurator().configure(testOperationManagerSoap);
return testOperationManagerSoap;
}
/**
* Used to get the environment-specific location of the wsdl. If there
is no
* concept of an environment-specific location of the wsdl, then just
return
* the input codedWSDL
*/
public URL getWsdlLocation(URL codedWSDL) {
URL wsdlLocation = null;
try {
wsdlLocation = new
URL("https://slc.centershift.com/Store40/StoreService.svc?wsdl");
} catch (MalformedURLException mue) {
wsdlLocation = codedWSDL;
}
return wsdlLocation;
}
public CenterShiftServiceConfigurator getServiceConfigurator() {
return serviceConfigurator;
}
public void setServiceConfigurator(CenterShiftServiceConfigurator
centershiftServiceConfigurator) {
this.serviceConfigurator = centershiftServiceConfigurator;
}
public static void main(String[] args) {
CentershiftSws2Client testService = new CentershiftSws2Client();
CenterShiftServiceConfigurator serviceConfigurator = new
CenterShiftServiceConfigurator();
testService.setServiceConfigurator(serviceConfigurator);
IStoreService storeService = testService.getService();
((BindingProvider)
storeService).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
"https://slc.centershift.com/Store40/StoreService.svc");
((BindingProvider)
storeService).getResponseContext().put("ws-security.username.sct",
"USER_NAME");
((BindingProvider)
storeService).getResponseContext().put("ws-security.password.sct",
"PASSWORD");
GetDataView_Request dataView_Request = new GetDataView_Request();
dataView_Request.setOrgID("ORG_ID");
dataView_Request.setSiteID("SITE_ID");
dataView_Request.setViewName("VIEW_NAME");
ArrayOfParameterValues parameterValues = new
ArrayOfParameterValues();
ParameterValues paramters = new ParameterValues();
paramters.setFilterType(0);
paramters.setParameterName("start_date");
paramters.setParameterValue("2016-10-01T00:00:00.000-06:00");
parameterValues.getParameterValues().add(paramters);
dataView_Request.setParameters(parameterValues);
GetDataViewResult dataViewResult =
storeService.getDataView(dataView_Request);
List list = dataViewResult.getAny();
System.out.println(list.size());
}
}
StoreService Class:
import java.net.MalformedURLException;
import java.net.URL;
import javax.xml.namespace.QName;
import javax.xml.ws.WebEndpoint;
import javax.xml.ws.WebServiceClient;
import javax.xml.ws.WebServiceFeature;
import javax.xml.ws.Service;
/**
* This class was generated by Apache CXF 3.1.7
* 2016-10-06T21:02:01.741+05:30
* Generated source version: 3.1.7
*
*/
@WebServiceClient(name = "StoreService",
wsdlLocation =
"https://slc.centershift.com/Store40/StoreService.svc?wsdl",
targetNamespace = "http://tempuri.org/")
public class StoreService extends Service {
public final static URL WSDL_LOCATION;
public final static QName SERVICE = new QName("http://tempuri.org/",
"StoreService");
public final static QName WS2007FederationHttpBindingIStoreService = new
QName("http://tempuri.org/", "WS2007FederationHttpBinding_IStoreService");
static {
URL url = null;
try {
url = new
URL("https://slc.centershift.com/Store40/StoreService.svc?wsdl");
} catch (MalformedURLException e) {
java.util.logging.Logger.getLogger(StoreService.class.getName())
.log(java.util.logging.Level.INFO,
"Can not initialize the default wsdl from {0}",
"https://slc.centershift.com/Store40/StoreService.svc?wsdl");
}
WSDL_LOCATION = url;
}
public StoreService(URL wsdlLocation) {
super(wsdlLocation, SERVICE);
}
public StoreService(URL wsdlLocation, QName serviceName) {
super(wsdlLocation, serviceName);
}
public StoreService() {
super(WSDL_LOCATION, SERVICE);
}
public StoreService(WebServiceFeature ... features) {
super(WSDL_LOCATION, SERVICE, features);
}
public StoreService(URL wsdlLocation, WebServiceFeature ... features) {
super(wsdlLocation, SERVICE, features);
}
public StoreService(URL wsdlLocation, QName serviceName,
WebServiceFeature ... features) {
super(wsdlLocation, serviceName, features);
}
/**
*
* @return
* returns IStoreService
*/
@WebEndpoint(name = "WS2007FederationHttpBinding_IStoreService")
public IStoreService getWS2007FederationHttpBindingIStoreService() {
return super.getPort(WS2007FederationHttpBindingIStoreService,
IStoreService.class);
}
/**
*
* @param features
* A list of {@link javax.xml.ws.WebServiceFeature} to configure on
the proxy. Supported features not in the <code>features</code> parameter
will have their default values.
* @return
* returns IStoreService
*/
@WebEndpoint(name = "WS2007FederationHttpBinding_IStoreService")
public IStoreService
getWS2007FederationHttpBindingIStoreService(WebServiceFeature... features) {
return super.getPort(WS2007FederationHttpBindingIStoreService,
IStoreService.class, features);
}
}
*Exception: *
[WARN ][Wsdl11AttachmentPolicyProvider.getElementPolicy:198] Failed to build
the policy 'WS2007FederationHttpBinding_IStoreService_policy':sp:HttpsToken
must have an inner wsp:Policy element
Exception in thread "main" java.lang.IllegalArgumentException:
sp:HttpsToken must have an inner wsp:Policy element
at
org.apache.wss4j.policy.builders.HttpsTokenBuilder.build(HttpsTokenBuilder.java:55)
at
org.apache.wss4j.policy.builders.HttpsTokenBuilder.build(HttpsTokenBuilder.java:34)
at
org.apache.neethi.AssertionBuilderFactoryImpl.invokeBuilder(AssertionBuilderFactoryImpl.java:138)
at
org.apache.neethi.AssertionBuilderFactoryImpl.build(AssertionBuilderFactoryImpl.java:117)
at
org.apache.neethi.PolicyBuilder.processOperationElement(PolicyBuilder.java:224)
at
org.apache.neethi.PolicyBuilder.getPolicyOperator(PolicyBuilder.java:174)
at org.apache.neethi.PolicyBuilder.getPolicy(PolicyBuilder.java:108)
at
org.apache.wss4j.policy.builders.TransportTokenBuilder.build(TransportTokenBuilder.java:41)
at
org.apache.wss4j.policy.builders.TransportTokenBuilder.build(TransportTokenBuilder.java:34)
at
org.apache.neethi.AssertionBuilderFactoryImpl.invokeBuilder(AssertionBuilderFactoryImpl.java:138)
at
org.apache.neethi.AssertionBuilderFactoryImpl.build(AssertionBuilderFactoryImpl.java:117)
at
org.apache.neethi.PolicyBuilder.processOperationElement(PolicyBuilder.java:224)
at
org.apache.neethi.PolicyBuilder.getPolicyOperator(PolicyBuilder.java:174)
at org.apache.neethi.PolicyBuilder.getPolicy(PolicyBuilder.java:108)
at
org.apache.wss4j.policy.builders.TransportBindingBuilder.build(TransportBindingBuilder.java:44)
at
org.apache.wss4j.policy.builders.TransportBindingBuilder.build(TransportBindingBuilder.java:34)
at
org.apache.neethi.AssertionBuilderFactoryImpl.invokeBuilder(AssertionBuilderFactoryImpl.java:138)
at
org.apache.neethi.AssertionBuilderFactoryImpl.build(AssertionBuilderFactoryImpl.java:117)
at
org.apache.neethi.PolicyBuilder.processOperationElement(PolicyBuilder.java:224)
at
org.apache.neethi.PolicyBuilder.getAllOperator(PolicyBuilder.java:184)
at
org.apache.neethi.PolicyBuilder.processOperationElement(PolicyBuilder.java:217)
at
org.apache.neethi.PolicyBuilder.getExactlyOneOperator(PolicyBuilder.java:180)
at
org.apache.neethi.PolicyBuilder.processOperationElement(PolicyBuilder.java:215)
at
org.apache.neethi.PolicyBuilder.getPolicyOperator(PolicyBuilder.java:174)
at org.apache.neethi.PolicyBuilder.getPolicy(PolicyBuilder.java:124)
at
org.apache.cxf.ws.policy.attachment.reference.LocalServiceModelReferenceResolver.resolveReference(LocalServiceModelReferenceResolver.java:53)
at
org.apache.cxf.ws.policy.attachment.wsdl11.Wsdl11AttachmentPolicyProvider.resolveLocal(Wsdl11AttachmentPolicyProvider.java:292)
at
org.apache.cxf.ws.policy.attachment.wsdl11.Wsdl11AttachmentPolicyProvider.resolveReference(Wsdl11AttachmentPolicyProvider.java:272)
at
org.apache.cxf.ws.policy.attachment.wsdl11.Wsdl11AttachmentPolicyProvider.getElementPolicy(Wsdl11AttachmentPolicyProvider.java:220)
at
org.apache.cxf.ws.policy.attachment.wsdl11.Wsdl11AttachmentPolicyProvider.getElementPolicy(Wsdl11AttachmentPolicyProvider.java:168)
at
org.apache.cxf.ws.policy.attachment.wsdl11.Wsdl11AttachmentPolicyProvider.getElementPolicy(Wsdl11AttachmentPolicyProvider.java:161)
at
org.apache.cxf.ws.policy.attachment.wsdl11.Wsdl11AttachmentPolicyProvider.getEffectivePolicy(Wsdl11AttachmentPolicyProvider.java:98)
at
org.apache.cxf.ws.policy.PolicyEngineImpl.getAggregatedEndpointPolicy(PolicyEngineImpl.java:464)
at
org.apache.cxf.ws.policy.EndpointPolicyImpl.initializePolicy(EndpointPolicyImpl.java:152)
at
org.apache.cxf.ws.policy.EndpointPolicyImpl.initialize(EndpointPolicyImpl.java:140)
at
org.apache.cxf.ws.policy.PolicyEngineImpl.createEndpointPolicyInfo(PolicyEngineImpl.java:604)
at
org.apache.cxf.ws.policy.PolicyEngineImpl.getEndpointPolicy(PolicyEngineImpl.java:316)
at
org.apache.cxf.ws.policy.PolicyEngineImpl.getClientEndpointPolicy(PolicyEngineImpl.java:303)
at
org.apache.cxf.ws.policy.PolicyDataEngineImpl.getClientEndpointPolicy(PolicyDataEngineImpl.java:61)
at
org.apache.cxf.transport.http.HTTPConduit.updateClientPolicy(HTTPConduit.java:318)
at
org.apache.cxf.transport.http.HTTPConduit.updateClientPolicy(HTTPConduit.java:338)
at
org.apache.cxf.transport.http.HTTPConduit.getClient(HTTPConduit.java:873)
at
org.apache.cxf.transport.http.HTTPConduit.configureConduitFromEndpointInfo(HTTPConduit.java:360)
at
org.apache.cxf.transport.http.HTTPConduit.finalizeConfig(HTTPConduit.java:440)
at
org.apache.cxf.transport.http.HTTPTransportFactory.getConduit(HTTPTransportFactory.java:242)
at
org.apache.cxf.binding.soap.SoapTransportFactory.getConduit(SoapTransportFactory.java:226)
at
org.apache.cxf.binding.soap.SoapTransportFactory.getConduit(SoapTransportFactory.java:233)
at
org.apache.cxf.endpoint.AbstractConduitSelector.createConduit(AbstractConduitSelector.java:145)
at
org.apache.cxf.endpoint.AbstractConduitSelector.getSelectedConduit(AbstractConduitSelector.java:107)
at
org.apache.cxf.endpoint.UpfrontConduitSelector.selectConduit(UpfrontConduitSelector.java:77)
at
org.apache.cxf.endpoint.ClientImpl.getConduit(ClientImpl.java:845)
at
com.reputation.r4e.integrator.centershift.handler.CenterShiftServiceConfigurator.configure(CenterShiftServiceConfigurator.java:18)
at
com.reputation.r4e.integrator.centershift.CentershiftSws2Client.createTestOperationManagerInstance(CentershiftSws2Client.java:52)
at
com.reputation.r4e.integrator.centershift.CentershiftSws2Client.getService(CentershiftSws2Client.java:33)
at
com.reputation.r4e.integrator.centershift.CentershiftSws2Client.main(CentershiftSws2Client.java:86)
I am very new to the ws-* support features. One of my customer gave a WSDL
to access their data. They are using Microsoft Identity Server for
authentication. I am using APACHE CXF library to develop this feature. I
read some document related to ws federation in CXF but I wasn't understand
the whole concept. I am posting my WSDL and client code and the error I am
getting. Can any one help me on this.?
Here the ws policy content from my WSDL
<wsp:Policy wsu:Id="WS2007FederationHttpBinding_IStoreService_policy">
<wsp:ExactlyOne>
<wsp:All>
<sp:TransportBinding
xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
<wsp:Policy>
<sp:TransportToken>
<wsp:Policy>
<sp:HttpsToken />
</wsp:Policy>
</sp:TransportToken>
<sp:AlgorithmSuite>
<wsp:Policy>
<sp:Basic256 />
</wsp:Policy>
</sp:AlgorithmSuite>
<sp:Layout>
<wsp:Policy>
<sp:Strict />
</wsp:Policy>
</sp:Layout>
<sp:IncludeTimestamp />
</wsp:Policy>
</sp:TransportBinding>
<sp:SignedSupportingTokens
xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
<wsp:Policy>
<sp:IssuedToken
sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
<Issuer
xmlns="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
<Address
xmlns="http://www.w3.org/2005/08/addressing">
https://slc.centershift.com/STS/issue/wstrust/mixed/username
</Address>
<Metadata
xmlns="http://www.w3.org/2005/08/addressing">
<Metadata
xmlns="http://schemas.xmlsoap.org/ws/2004/09/mex"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<wsx:MetadataSection xmlns="">
<wsx:MetadataReference>
<Address
xmlns="http://www.w3.org/2005/08/addressing">https://slc.centershift.com/STS/issue/mex</Address>
</wsx:MetadataReference>
</wsx:MetadataSection>
</Metadata>
</Metadata>
</Issuer>
<sp:RequestSecurityTokenTemplate>
<trust:KeyType
xmlns:trust="http://docs.oasis-open.org/ws-sx/ws-trust/200512">
http://docs.oasis-open.org/ws-sx/ws-trust/200512/Bearer
</trust:KeyType>
<trust:CanonicalizationAlgorithm
xmlns:trust="http://docs.oasis-open.org/ws-sx/ws-trust/200512">http://www.w3.org/2001/10/xml-exc-c14n#</trust:CanonicalizationAlgorithm>
<trust:EncryptionAlgorithm
xmlns:trust="http://docs.oasis-open.org/ws-sx/ws-trust/200512">http://www.w3.org/2001/04/xmlenc#aes256-cbc</trust:EncryptionAlgorithm>
</sp:RequestSecurityTokenTemplate>
<wsp:Policy>
<sp:RequireInternalReference />
</wsp:Policy>
</sp:IssuedToken>
</wsp:Policy>
</sp:SignedSupportingTokens>
<sp:Wss11
xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
<wsp:Policy />
</sp:Wss11>
<sp:Trust13
xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
<wsp:Policy>
<sp:MustSupportIssuedTokens />
<sp:RequireClientEntropy />
<sp:RequireServerEntropy />
</wsp:Policy>
</sp:Trust13>
<wsaw:UsingAddressing />
</wsp:All>
</wsp:ExactlyOne>
</wsp:Policy>
Here is the service end-point:
<wsdl:service name="StoreService">
<wsdl:port name="WS2007FederationHttpBinding_IStoreService"
binding="tns:WS2007FederationHttpBinding_IStoreService">
<soap12:address
location="https://slc.centershift.com/Store40/StoreService.svc" />
<wsa10:EndpointReference>
<wsa10:Address>
https://slc.centershift.com/Store40/StoreService.svc
</wsa10:Address>
</wsa10:EndpointReference>
</wsdl:port>
</wsdl:service>
Client Code:
import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;
import java.util.concurrent.Executors;
import javax.xml.ws.BindingProvider;
import javax.xml.ws.soap.AddressingFeature;
import
com.reputation.r4e.integrator.centershift.handler.CenterShiftServiceConfigurator;
import
com.reputation.r4e.integrator.centershift.sws2.ArrayOfParameterValues;
import
com.reputation.r4e.integrator.centershift.sws2.GetDataViewResponse.GetDataViewResult;
import com.reputation.r4e.integrator.centershift.sws2.GetDataView_Request;
import com.reputation.r4e.integrator.centershift.sws2.IStoreService;
import com.reputation.r4e.integrator.centershift.sws2.ParameterValues;
import com.reputation.r4e.integrator.centershift.sws2.StoreService;
public class CentershiftSws2Client {
CenterShiftServiceConfigurator serviceConfigurator;
public IStoreService service;
/**
* Get the Test service instance for use. If the instance does not
create
* yet, create it.
*
* @return The service instance
*/
public IStoreService getService() {
if (service == null) {
service = createTestOperationManagerInstance();
}
return service;
}
/**
* Creates and returns the instance of the {@link TestOperationManager}
*
* @return instance of the {@link TestOperationManager}
*/
public IStoreService createTestOperationManagerInstance() {
StoreService service = new
StoreService(getWsdlLocation(StoreService.WSDL_LOCATION));
service.setExecutor(Executors.newCachedThreadPool());
IStoreService testOperationManagerSoap = service
.getWS2007FederationHttpBindingIStoreService(new
AddressingFeature(true));
getServiceConfigurator().configure(testOperationManagerSoap);
return testOperationManagerSoap;
}
/**
* Used to get the environment-specific location of the wsdl. If there
is no
* concept of an environment-specific location of the wsdl, then just
return
* the input codedWSDL
*/
public URL getWsdlLocation(URL codedWSDL) {
URL wsdlLocation = null;
try {
wsdlLocation = new
URL("https://slc.centershift.com/Store40/StoreService.svc?wsdl");
} catch (MalformedURLException mue) {
wsdlLocation = codedWSDL;
}
return wsdlLocation;
}
public CenterShiftServiceConfigurator getServiceConfigurator() {
return serviceConfigurator;
}
public void setServiceConfigurator(CenterShiftServiceConfigurator
centershiftServiceConfigurator) {
this.serviceConfigurator = centershiftServiceConfigurator;
}
public static void main(String[] args) {
CentershiftSws2Client testService = new CentershiftSws2Client();
CenterShiftServiceConfigurator serviceConfigurator = new
CenterShiftServiceConfigurator();
testService.setServiceConfigurator(serviceConfigurator);
IStoreService storeService = testService.getService();
((BindingProvider)
storeService).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
"https://slc.centershift.com/Store40/StoreService.svc");
((BindingProvider)
storeService).getResponseContext().put("ws-security.username.sct",
"USER_NAME");
((BindingProvider)
storeService).getResponseContext().put("ws-security.password.sct",
"PASSWORD");
GetDataView_Request dataView_Request = new GetDataView_Request();
dataView_Request.setOrgID("ORG_ID");
dataView_Request.setSiteID("SITE_ID");
dataView_Request.setViewName("VIEW_NAME");
ArrayOfParameterValues parameterValues = new
ArrayOfParameterValues();
ParameterValues paramters = new ParameterValues();
paramters.setFilterType(0);
paramters.setParameterName("start_date");
paramters.setParameterValue("2016-10-01T00:00:00.000-06:00");
parameterValues.getParameterValues().add(paramters);
dataView_Request.setParameters(parameterValues);
GetDataViewResult dataViewResult =
storeService.getDataView(dataView_Request);
List list = dataViewResult.getAny();
System.out.println(list.size());
}
}
StoreService Class:
import java.net.MalformedURLException;
import java.net.URL;
import javax.xml.namespace.QName;
import javax.xml.ws.WebEndpoint;
import javax.xml.ws.WebServiceClient;
import javax.xml.ws.WebServiceFeature;
import javax.xml.ws.Service;
/**
* This class was generated by Apache CXF 3.1.7
* 2016-10-06T21:02:01.741+05:30
* Generated source version: 3.1.7
*
*/
@WebServiceClient(name = "StoreService",
wsdlLocation =
"https://slc.centershift.com/Store40/StoreService.svc?wsdl",
targetNamespace = "http://tempuri.org/")
public class StoreService extends Service {
public final static URL WSDL_LOCATION;
public final static QName SERVICE = new QName("http://tempuri.org/",
"StoreService");
public final static QName WS2007FederationHttpBindingIStoreService = new
QName("http://tempuri.org/", "WS2007FederationHttpBinding_IStoreService");
static {
URL url = null;
try {
url = new
URL("https://slc.centershift.com/Store40/StoreService.svc?wsdl");
} catch (MalformedURLException e) {
java.util.logging.Logger.getLogger(StoreService.class.getName())
.log(java.util.logging.Level.INFO,
"Can not initialize the default wsdl from {0}",
"https://slc.centershift.com/Store40/StoreService.svc?wsdl");
}
WSDL_LOCATION = url;
}
public StoreService(URL wsdlLocation) {
super(wsdlLocation, SERVICE);
}
public StoreService(URL wsdlLocation, QName serviceName) {
super(wsdlLocation, serviceName);
}
public StoreService() {
super(WSDL_LOCATION, SERVICE);
}
public StoreService(WebServiceFeature ... features) {
super(WSDL_LOCATION, SERVICE, features);
}
public StoreService(URL wsdlLocation, WebServiceFeature ... features) {
super(wsdlLocation, SERVICE, features);
}
public StoreService(URL wsdlLocation, QName serviceName,
WebServiceFeature ... features) {
super(wsdlLocation, serviceName, features);
}
/**
*
* @return
* returns IStoreService
*/
@WebEndpoint(name = "WS2007FederationHttpBinding_IStoreService")
public IStoreService getWS2007FederationHttpBindingIStoreService() {
return super.getPort(WS2007FederationHttpBindingIStoreService,
IStoreService.class);
}
/**
*
* @param features
* A list of {@link javax.xml.ws.WebServiceFeature} to configure on
the proxy. Supported features not in the <code>features</code> parameter
will have their default values.
* @return
* returns IStoreService
*/
@WebEndpoint(name = "WS2007FederationHttpBinding_IStoreService")
public IStoreService
getWS2007FederationHttpBindingIStoreService(WebServiceFeature... features) {
return super.getPort(WS2007FederationHttpBindingIStoreService,
IStoreService.class, features);
}
}
Exception:
[WARN ][Wsdl11AttachmentPolicyProvider.getElementPolicy:198] Failed to
build the policy
'WS2007FederationHttpBinding_IStoreService_policy':sp:HttpsToken must have
an inner wsp:Policy element
Exception in thread "main" java.lang.IllegalArgumentException:
sp:HttpsToken must have an inner wsp:Policy element
at
org.apache.wss4j.policy.builders.HttpsTokenBuilder.build(HttpsTokenBuilder.java:55)
at
org.apache.wss4j.policy.builders.HttpsTokenBuilder.build(HttpsTokenBuilder.java:34)
at
org.apache.neethi.AssertionBuilderFactoryImpl.invokeBuilder(AssertionBuilderFactoryImpl.java:138)
at
org.apache.neethi.AssertionBuilderFactoryImpl.build(AssertionBuilderFactoryImpl.java:117)
at
org.apache.neethi.PolicyBuilder.processOperationElement(PolicyBuilder.java:224)
at
org.apache.neethi.PolicyBuilder.getPolicyOperator(PolicyBuilder.java:174)
at org.apache.neethi.PolicyBuilder.getPolicy(PolicyBuilder.java:108)
at
org.apache.wss4j.policy.builders.TransportTokenBuilder.build(TransportTokenBuilder.java:41)
at
org.apache.wss4j.policy.builders.TransportTokenBuilder.build(TransportTokenBuilder.java:34)
at
org.apache.neethi.AssertionBuilderFactoryImpl.invokeBuilder(AssertionBuilderFactoryImpl.java:138)
at
org.apache.neethi.AssertionBuilderFactoryImpl.build(AssertionBuilderFactoryImpl.java:117)
at
org.apache.neethi.PolicyBuilder.processOperationElement(PolicyBuilder.java:224)
at
org.apache.neethi.PolicyBuilder.getPolicyOperator(PolicyBuilder.java:174)
at org.apache.neethi.PolicyBuilder.getPolicy(PolicyBuilder.java:108)
at
org.apache.wss4j.policy.builders.TransportBindingBuilder.build(TransportBindingBuilder.java:44)
at
org.apache.wss4j.policy.builders.TransportBindingBuilder.build(TransportBindingBuilder.java:34)
at
org.apache.neethi.AssertionBuilderFactoryImpl.invokeBuilder(AssertionBuilderFactoryImpl.java:138)
at
org.apache.neethi.AssertionBuilderFactoryImpl.build(AssertionBuilderFactoryImpl.java:117)
at
org.apache.neethi.PolicyBuilder.processOperationElement(PolicyBuilder.java:224)
at
org.apache.neethi.PolicyBuilder.getAllOperator(PolicyBuilder.java:184)
at
org.apache.neethi.PolicyBuilder.processOperationElement(PolicyBuilder.java:217)
at
org.apache.neethi.PolicyBuilder.getExactlyOneOperator(PolicyBuilder.java:180)
at
org.apache.neethi.PolicyBuilder.processOperationElement(PolicyBuilder.java:215)
at
org.apache.neethi.PolicyBuilder.getPolicyOperator(PolicyBuilder.java:174)
at org.apache.neethi.PolicyBuilder.getPolicy(PolicyBuilder.java:124)
at
org.apache.cxf.ws.policy.attachment.reference.LocalServiceModelReferenceResolver.resolveReference(LocalServiceModelReferenceResolver.java:53)
at
org.apache.cxf.ws.policy.attachment.wsdl11.Wsdl11AttachmentPolicyProvider.resolveLocal(Wsdl11AttachmentPolicyProvider.java:292)
at
org.apache.cxf.ws.policy.attachment.wsdl11.Wsdl11AttachmentPolicyProvider.resolveReference(Wsdl11AttachmentPolicyProvider.java:272)
at
org.apache.cxf.ws.policy.attachment.wsdl11.Wsdl11AttachmentPolicyProvider.getElementPolicy(Wsdl11AttachmentPolicyProvider.java:220)
at
org.apache.cxf.ws.policy.attachment.wsdl11.Wsdl11AttachmentPolicyProvider.getElementPolicy(Wsdl11AttachmentPolicyProvider.java:168)
at
org.apache.cxf.ws.policy.attachment.wsdl11.Wsdl11AttachmentPolicyProvider.getElementPolicy(Wsdl11AttachmentPolicyProvider.java:161)
at
org.apache.cxf.ws.policy.attachment.wsdl11.Wsdl11AttachmentPolicyProvider.getEffectivePolicy(Wsdl11AttachmentPolicyProvider.java:98)
at
org.apache.cxf.ws.policy.PolicyEngineImpl.getAggregatedEndpointPolicy(PolicyEngineImpl.java:464)
at
org.apache.cxf.ws.policy.EndpointPolicyImpl.initializePolicy(EndpointPolicyImpl.java:152)
at
org.apache.cxf.ws.policy.EndpointPolicyImpl.initialize(EndpointPolicyImpl.java:140)
at
org.apache.cxf.ws.policy.PolicyEngineImpl.createEndpointPolicyInfo(PolicyEngineImpl.java:604)
at
org.apache.cxf.ws.policy.PolicyEngineImpl.getEndpointPolicy(PolicyEngineImpl.java:316)
at
org.apache.cxf.ws.policy.PolicyEngineImpl.getClientEndpointPolicy(PolicyEngineImpl.java:303)
at
org.apache.cxf.ws.policy.PolicyDataEngineImpl.getClientEndpointPolicy(PolicyDataEngineImpl.java:61)
at
org.apache.cxf.transport.http.HTTPConduit.updateClientPolicy(HTTPConduit.java:318)
at
org.apache.cxf.transport.http.HTTPConduit.updateClientPolicy(HTTPConduit.java:338)
at
org.apache.cxf.transport.http.HTTPConduit.getClient(HTTPConduit.java:873)
at
org.apache.cxf.transport.http.HTTPConduit.configureConduitFromEndpointInfo(HTTPConduit.java:360)
at
org.apache.cxf.transport.http.HTTPConduit.finalizeConfig(HTTPConduit.java:440)
at
org.apache.cxf.transport.http.HTTPTransportFactory.getConduit(HTTPTransportFactory.java:242)
at
org.apache.cxf.binding.soap.SoapTransportFactory.getConduit(SoapTransportFactory.java:226)
at
org.apache.cxf.binding.soap.SoapTransportFactory.getConduit(SoapTransportFactory.java:233)
at
org.apache.cxf.endpoint.AbstractConduitSelector.createConduit(AbstractConduitSelector.java:145)
at
org.apache.cxf.endpoint.AbstractConduitSelector.getSelectedConduit(AbstractConduitSelector.java:107)
at
org.apache.cxf.endpoint.UpfrontConduitSelector.selectConduit(UpfrontConduitSelector.java:77)
at
org.apache.cxf.endpoint.ClientImpl.getConduit(ClientImpl.java:845)
at
com.reputation.r4e.integrator.centershift.handler.CenterShiftServiceConfigurator.configure(CenterShiftServiceConfigurator.java:18)
at
com.reputation.r4e.integrator.centershift.CentershiftSws2Client.createTestOperationManagerInstance(CentershiftSws2Client.java:52)
at
com.reputation.r4e.integrator.centershift.CentershiftSws2Client.getService(CentershiftSws2Client.java:33)
at
com.reputation.r4e.integrator.centershift.CentershiftSws2Client.main(CentershiftSws2Client.java:86)
*Questions:*
1. Do we have any end-end document related to ws federation/ws*- security
other than APACHE CXF document.?
2. Is my approach is right.?
3. How we need to communicate Microsoft Identity Server with APACHE CXF.?
4. Can any one provide a sample code related to this.?
Can any one help me on this. I was stuck over here.
Thanks & Regards, Arthur
--
View this message in context: http://cxf.547215.n5.nabble.com/WS-Federation-client-impl-with-CXF-tp5773261.html
Sent from the cxf-user mailing list archive at Nabble.com.
Re: WS Federation client impl with CXF
Posted by Colm O hEigeartaigh <co...@apache.org>.
The problem is that the policy in the WSDL is not valid:
<wsp:Policy>
<sp:HttpsToken />
</wsp:Policy>
According to the WS-SecurityPolicy 1.3 spec, the HttpsToken must have a
wsp:Policy child. So you could try modifying the WSDL locally and adding in:
<wsp:Policy>
<sp:HttpsToken>
<wsp:Policy/>
</sp:HttpsToken>
</wsp:Policy>
Colm.
On Fri, Oct 7, 2016 at 7:38 AM, arthurfiddich <ar...@gmail.com>
wrote:
> I am very new to the ws-* support features. One of my customer gave a WSDL
> to
> access their data. They are using Microsoft Identity Server for
> authentication. I am using APACHE CXF library to develop this feature. I
> read some document related to ws federation in CXF but I wasn't understand
> the whole concept. I am posting my WSDL and client code and the error I am
> getting. Can any one help me on this.?
>
> Here the ws policy content from my WSDL
>
> <wsp:Policy wsu:Id="WS2007FederationHttpBinding_IStoreService_policy">
> <wsp:ExactlyOne>
> <wsp:All>
> <sp:TransportBinding
>
> xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
> <wsp:Policy>
> <sp:TransportToken>
> <wsp:Policy>
> <sp:HttpsToken />
> </wsp:Policy>
> </sp:TransportToken>
> <sp:AlgorithmSuite>
> <wsp:Policy>
> <sp:Basic256 />
> </wsp:Policy>
> </sp:AlgorithmSuite>
> <sp:Layout>
> <wsp:Policy>
> <sp:Strict />
> </wsp:Policy>
> </sp:Layout>
> <sp:IncludeTimestamp />
> </wsp:Policy>
> </sp:TransportBinding>
> <sp:SignedSupportingTokens
>
> xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
> <wsp:Policy>
> <sp:IssuedToken
>
> sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-
> securitypolicy/200702/IncludeToken/AlwaysToRecipient">
> <Issuer
>
> xmlns="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
> <Address
> xmlns="http://www.w3.org/2005/08/addressing">
>
> https://slc.centershift.com/STS/issue/wstrust/mixed/username
> </Address>
> <Metadata
> xmlns="http://www.w3.org/2005/08/addressing">
> <Metadata
> xmlns="http://schemas.xmlsoap.org/ws/2004/09/mex"
>
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
> <wsx:MetadataSection xmlns="">
> <wsx:MetadataReference>
> <Address
> xmlns="http://www.w3.org/2005/08/addressing">https://slc.
> centershift.com/STS/issue/mex</Address>
> </wsx:MetadataReference>
> </wsx:MetadataSection>
> </Metadata>
> </Metadata>
> </Issuer>
> <sp:RequestSecurityTokenTemplate>
> <trust:KeyType
>
> xmlns:trust="http://docs.oasis-open.org/ws-sx/ws-trust/200512">
>
> http://docs.oasis-open.org/ws-sx/ws-trust/200512/Bearer
> </trust:KeyType>
> <trust:CanonicalizationAlgorithm
>
> xmlns:trust="http://docs.oasis-open.org/ws-sx/ws-trust/200512">
> http://www.w3.org/2001/10/xml-exc-c14n#</trust:CanonicalizationAlgorithm>
> <trust:EncryptionAlgorithm
>
> xmlns:trust="http://docs.oasis-open.org/ws-sx/ws-trust/200512">
> http://www.w3.org/2001/04/xmlenc#aes256-cbc</trust:EncryptionAlgorithm>
> </sp:RequestSecurityTokenTemplate>
> <wsp:Policy>
> <sp:RequireInternalReference />
> </wsp:Policy>
> </sp:IssuedToken>
> </wsp:Policy>
> </sp:SignedSupportingTokens>
> <sp:Wss11
>
> xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
> <wsp:Policy />
> </sp:Wss11>
> <sp:Trust13
>
> xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
> <wsp:Policy>
> <sp:MustSupportIssuedTokens />
> <sp:RequireClientEntropy />
> <sp:RequireServerEntropy />
> </wsp:Policy>
> </sp:Trust13>
> <wsaw:UsingAddressing />
> </wsp:All>
> </wsp:ExactlyOne>
> </wsp:Policy>
>
> *Here is the service end-point:*
>
> <wsdl:service name="StoreService">
> <wsdl:port name="WS2007FederationHttpBinding_IStoreService"
> binding="tns:WS2007FederationHttpBinding_IStoreService">
> <soap12:address
>
> location="https://slc.centershift.com/Store40/StoreService.svc" />
> <wsa10:EndpointReference>
> <wsa10:Address>
> https://slc.centershift.com/
> Store40/StoreService.svc
> </wsa10:Address>
> </wsa10:EndpointReference>
> </wsdl:port>
> </wsdl:service>
>
> *Client Code:*
>
> import java.net.MalformedURLException;
> import java.net.URL;
> import java.util.List;
> import java.util.concurrent.Executors;
>
> import javax.xml.ws.BindingProvider;
> import javax.xml.ws.soap.AddressingFeature;
>
> import
> com.reputation.r4e.integrator.centershift.handler.
> CenterShiftServiceConfigurator;
> import
> com.reputation.r4e.integrator.centershift.sws2.ArrayOfParameterValues;
> import
> com.reputation.r4e.integrator.centershift.sws2.GetDataViewResponse.
> GetDataViewResult;
> import com.reputation.r4e.integrator.centershift.sws2.GetDataView_Request;
> import com.reputation.r4e.integrator.centershift.sws2.IStoreService;
> import com.reputation.r4e.integrator.centershift.sws2.ParameterValues;
> import com.reputation.r4e.integrator.centershift.sws2.StoreService;
>
> public class CentershiftSws2Client {
>
> CenterShiftServiceConfigurator serviceConfigurator;
>
> public IStoreService service;
>
> /**
> * Get the Test service instance for use. If the instance does not
> create
> * yet, create it.
> *
> * @return The service instance
> */
> public IStoreService getService() {
> if (service == null) {
> service = createTestOperationManagerInstance();
> }
>
> return service;
> }
>
> /**
> * Creates and returns the instance of the {@link TestOperationManager}
> *
> * @return instance of the {@link TestOperationManager}
> */
> public IStoreService createTestOperationManagerInstance() {
> StoreService service = new
> StoreService(getWsdlLocation(StoreService.WSDL_LOCATION));
>
> service.setExecutor(Executors.newCachedThreadPool());
>
> IStoreService testOperationManagerSoap = service
> .getWS2007FederationHttpBindingIStoreService(new
> AddressingFeature(true));
>
> getServiceConfigurator().configure(testOperationManagerSoap);
>
> return testOperationManagerSoap;
> }
>
> /**
> * Used to get the environment-specific location of the wsdl. If there
> is no
> * concept of an environment-specific location of the wsdl, then just
> return
> * the input codedWSDL
> */
> public URL getWsdlLocation(URL codedWSDL) {
> URL wsdlLocation = null;
> try {
> wsdlLocation = new
> URL("https://slc.centershift.com/Store40/StoreService.svc?wsdl");
> } catch (MalformedURLException mue) {
> wsdlLocation = codedWSDL;
> }
>
> return wsdlLocation;
>
> }
>
> public CenterShiftServiceConfigurator getServiceConfigurator() {
> return serviceConfigurator;
> }
>
> public void setServiceConfigurator(CenterShiftServiceConfigurator
> centershiftServiceConfigurator) {
> this.serviceConfigurator = centershiftServiceConfigurator;
> }
>
> public static void main(String[] args) {
> CentershiftSws2Client testService = new CentershiftSws2Client();
> CenterShiftServiceConfigurator serviceConfigurator = new
> CenterShiftServiceConfigurator();
> testService.setServiceConfigurator(serviceConfigurator);
> IStoreService storeService = testService.getService();
> ((BindingProvider)
> storeService).getRequestContext().put(BindingProvider.ENDPOINT_
> ADDRESS_PROPERTY,
> "https://slc.centershift.com/Store40/StoreService.svc");
> ((BindingProvider)
> storeService).getResponseContext().put("ws-security.username.sct",
> "USER_NAME");
> ((BindingProvider)
> storeService).getResponseContext().put("ws-security.password.sct",
> "PASSWORD");
>
> GetDataView_Request dataView_Request = new GetDataView_Request();
> dataView_Request.setOrgID("ORG_ID");
> dataView_Request.setSiteID("SITE_ID");
> dataView_Request.setViewName("VIEW_NAME");
> ArrayOfParameterValues parameterValues = new
> ArrayOfParameterValues();
>
> ParameterValues paramters = new ParameterValues();
> paramters.setFilterType(0);
> paramters.setParameterName("start_date");
> paramters.setParameterValue("2016-10-01T00:00:00.000-06:00");
>
> parameterValues.getParameterValues().add(paramters);
> dataView_Request.setParameters(parameterValues);
>
> GetDataViewResult dataViewResult =
> storeService.getDataView(dataView_Request);
> List list = dataViewResult.getAny();
> System.out.println(list.size());
>
> }
> }
>
> StoreService Class:
>
> import java.net.MalformedURLException;
> import java.net.URL;
> import javax.xml.namespace.QName;
> import javax.xml.ws.WebEndpoint;
> import javax.xml.ws.WebServiceClient;
> import javax.xml.ws.WebServiceFeature;
> import javax.xml.ws.Service;
>
> /**
> * This class was generated by Apache CXF 3.1.7
> * 2016-10-06T21:02:01.741+05:30
> * Generated source version: 3.1.7
> *
> */
> @WebServiceClient(name = "StoreService",
> wsdlLocation =
> "https://slc.centershift.com/Store40/StoreService.svc?wsdl",
> targetNamespace = "http://tempuri.org/")
> public class StoreService extends Service {
>
> public final static URL WSDL_LOCATION;
>
> public final static QName SERVICE = new QName("http://tempuri.org/",
> "StoreService");
> public final static QName WS2007FederationHttpBindingIStoreService =
> new
> QName("http://tempuri.org/", "WS2007FederationHttpBinding_IStoreService");
> static {
> URL url = null;
> try {
> url = new
> URL("https://slc.centershift.com/Store40/StoreService.svc?wsdl");
> } catch (MalformedURLException e) {
> java.util.logging.Logger.getLogger(StoreService.class.
> getName())
> .log(java.util.logging.Level.INFO,
> "Can not initialize the default wsdl from {0}",
> "https://slc.centershift.com/Store40/StoreService.svc?wsdl");
> }
> WSDL_LOCATION = url;
> }
>
> public StoreService(URL wsdlLocation) {
> super(wsdlLocation, SERVICE);
> }
>
> public StoreService(URL wsdlLocation, QName serviceName) {
> super(wsdlLocation, serviceName);
> }
>
> public StoreService() {
> super(WSDL_LOCATION, SERVICE);
> }
>
> public StoreService(WebServiceFeature ... features) {
> super(WSDL_LOCATION, SERVICE, features);
> }
>
> public StoreService(URL wsdlLocation, WebServiceFeature ... features) {
> super(wsdlLocation, SERVICE, features);
> }
>
> public StoreService(URL wsdlLocation, QName serviceName,
> WebServiceFeature ... features) {
> super(wsdlLocation, serviceName, features);
> }
>
>
>
>
> /**
> *
> * @return
> * returns IStoreService
> */
> @WebEndpoint(name = "WS2007FederationHttpBinding_IStoreService")
> public IStoreService getWS2007FederationHttpBindingIStoreService() {
> return super.getPort(WS2007FederationHttpBindingIStoreService,
> IStoreService.class);
> }
>
> /**
> *
> * @param features
> * A list of {@link javax.xml.ws.WebServiceFeature} to configure
> on
> the proxy. Supported features not in the <code>features</code> parameter
> will have their default values.
> * @return
> * returns IStoreService
> */
> @WebEndpoint(name = "WS2007FederationHttpBinding_IStoreService")
> public IStoreService
> getWS2007FederationHttpBindingIStoreService(WebServiceFeature...
> features) {
> return super.getPort(WS2007FederationHttpBindingIStoreService,
> IStoreService.class, features);
> }
>
> }
>
> *Exception: *
>
> [WARN ][Wsdl11AttachmentPolicyProvider.getElementPolicy:198] Failed to
> build
> the policy 'WS2007FederationHttpBinding_IStoreService_policy':sp:
> HttpsToken
> must have an inner wsp:Policy element
> Exception in thread "main" java.lang.IllegalArgumentException:
> sp:HttpsToken must have an inner wsp:Policy element
> at
> org.apache.wss4j.policy.builders.HttpsTokenBuilder.
> build(HttpsTokenBuilder.java:55)
> at
> org.apache.wss4j.policy.builders.HttpsTokenBuilder.
> build(HttpsTokenBuilder.java:34)
> at
> org.apache.neethi.AssertionBuilderFactoryImpl.invokeBuilder(
> AssertionBuilderFactoryImpl.java:138)
> at
> org.apache.neethi.AssertionBuilderFactoryImpl.build(
> AssertionBuilderFactoryImpl.java:117)
> at
> org.apache.neethi.PolicyBuilder.processOperationElement(
> PolicyBuilder.java:224)
> at
> org.apache.neethi.PolicyBuilder.getPolicyOperator(PolicyBuilder.java:174)
> at org.apache.neethi.PolicyBuilder.getPolicy(
> PolicyBuilder.java:108)
> at
> org.apache.wss4j.policy.builders.TransportTokenBuilder.build(
> TransportTokenBuilder.java:41)
> at
> org.apache.wss4j.policy.builders.TransportTokenBuilder.build(
> TransportTokenBuilder.java:34)
> at
> org.apache.neethi.AssertionBuilderFactoryImpl.invokeBuilder(
> AssertionBuilderFactoryImpl.java:138)
> at
> org.apache.neethi.AssertionBuilderFactoryImpl.build(
> AssertionBuilderFactoryImpl.java:117)
> at
> org.apache.neethi.PolicyBuilder.processOperationElement(
> PolicyBuilder.java:224)
> at
> org.apache.neethi.PolicyBuilder.getPolicyOperator(PolicyBuilder.java:174)
> at org.apache.neethi.PolicyBuilder.getPolicy(
> PolicyBuilder.java:108)
> at
> org.apache.wss4j.policy.builders.TransportBindingBuilder.build(
> TransportBindingBuilder.java:44)
> at
> org.apache.wss4j.policy.builders.TransportBindingBuilder.build(
> TransportBindingBuilder.java:34)
> at
> org.apache.neethi.AssertionBuilderFactoryImpl.invokeBuilder(
> AssertionBuilderFactoryImpl.java:138)
> at
> org.apache.neethi.AssertionBuilderFactoryImpl.build(
> AssertionBuilderFactoryImpl.java:117)
> at
> org.apache.neethi.PolicyBuilder.processOperationElement(
> PolicyBuilder.java:224)
> at
> org.apache.neethi.PolicyBuilder.getAllOperator(PolicyBuilder.java:184)
> at
> org.apache.neethi.PolicyBuilder.processOperationElement(
> PolicyBuilder.java:217)
> at
> org.apache.neethi.PolicyBuilder.getExactlyOneOperator(
> PolicyBuilder.java:180)
> at
> org.apache.neethi.PolicyBuilder.processOperationElement(
> PolicyBuilder.java:215)
> at
> org.apache.neethi.PolicyBuilder.getPolicyOperator(PolicyBuilder.java:174)
> at org.apache.neethi.PolicyBuilder.getPolicy(
> PolicyBuilder.java:124)
> at
> org.apache.cxf.ws.policy.attachment.reference.
> LocalServiceModelReferenceResolver.resolveReference(
> LocalServiceModelReferenceResolver.java:53)
> at
> org.apache.cxf.ws.policy.attachment.wsdl11.Wsdl11AttachmentPolicyProvider
> .resolveLocal(Wsdl11AttachmentPolicyProvider.java:292)
> at
> org.apache.cxf.ws.policy.attachment.wsdl11.Wsdl11AttachmentPolicyProvider
> .resolveReference(Wsdl11AttachmentPolicyProvider.java:272)
> at
> org.apache.cxf.ws.policy.attachment.wsdl11.Wsdl11AttachmentPolicyProvider
> .getElementPolicy(Wsdl11AttachmentPolicyProvider.java:220)
> at
> org.apache.cxf.ws.policy.attachment.wsdl11.Wsdl11AttachmentPolicyProvider
> .getElementPolicy(Wsdl11AttachmentPolicyProvider.java:168)
> at
> org.apache.cxf.ws.policy.attachment.wsdl11.Wsdl11AttachmentPolicyProvider
> .getElementPolicy(Wsdl11AttachmentPolicyProvider.java:161)
> at
> org.apache.cxf.ws.policy.attachment.wsdl11.Wsdl11AttachmentPolicyProvider
> .getEffectivePolicy(Wsdl11AttachmentPolicyProvider.java:98)
> at
> org.apache.cxf.ws.policy.PolicyEngineImpl.getAggregatedEndpointPolicy(
> PolicyEngineImpl.java:464)
> at
> org.apache.cxf.ws.policy.EndpointPolicyImpl.initializePolicy(
> EndpointPolicyImpl.java:152)
> at
> org.apache.cxf.ws.policy.EndpointPolicyImpl.initialize(
> EndpointPolicyImpl.java:140)
> at
> org.apache.cxf.ws.policy.PolicyEngineImpl.createEndpointPolicyInfo(
> PolicyEngineImpl.java:604)
> at
> org.apache.cxf.ws.policy.PolicyEngineImpl.getEndpointPolicy(
> PolicyEngineImpl.java:316)
> at
> org.apache.cxf.ws.policy.PolicyEngineImpl.getClientEndpointPolicy(
> PolicyEngineImpl.java:303)
> at
> org.apache.cxf.ws.policy.PolicyDataEngineImpl.getClientEndpointPolicy(
> PolicyDataEngineImpl.java:61)
> at
> org.apache.cxf.transport.http.HTTPConduit.updateClientPolicy(
> HTTPConduit.java:318)
> at
> org.apache.cxf.transport.http.HTTPConduit.updateClientPolicy(
> HTTPConduit.java:338)
> at
> org.apache.cxf.transport.http.HTTPConduit.getClient(HTTPConduit.java:873)
> at
> org.apache.cxf.transport.http.HTTPConduit.configureConduitFromEndpointIn
> fo(HTTPConduit.java:360)
> at
> org.apache.cxf.transport.http.HTTPConduit.finalizeConfig(
> HTTPConduit.java:440)
> at
> org.apache.cxf.transport.http.HTTPTransportFactory.getConduit(
> HTTPTransportFactory.java:242)
> at
> org.apache.cxf.binding.soap.SoapTransportFactory.getConduit(
> SoapTransportFactory.java:226)
> at
> org.apache.cxf.binding.soap.SoapTransportFactory.getConduit(
> SoapTransportFactory.java:233)
> at
> org.apache.cxf.endpoint.AbstractConduitSelector.createConduit(
> AbstractConduitSelector.java:145)
> at
> org.apache.cxf.endpoint.AbstractConduitSelector.getSelectedConduit(
> AbstractConduitSelector.java:107)
> at
> org.apache.cxf.endpoint.UpfrontConduitSelector.selectConduit(
> UpfrontConduitSelector.java:77)
> at
> org.apache.cxf.endpoint.ClientImpl.getConduit(ClientImpl.java:845)
> at
> com.reputation.r4e.integrator.centershift.handler.
> CenterShiftServiceConfigurator.configure(CenterShiftServiceConfigurator
> .java:18)
> at
> com.reputation.r4e.integrator.centershift.CentershiftSws2Client.
> createTestOperationManagerInstance(CentershiftSws2Client.java:52)
> at
> com.reputation.r4e.integrator.centershift.CentershiftSws2Client.
> getService(CentershiftSws2Client.java:33)
> at
> com.reputation.r4e.integrator.centershift.CentershiftSws2Client.main(
> CentershiftSws2Client.java:86)
>
>
> I am very new to the ws-* support features. One of my customer gave a WSDL
> to access their data. They are using Microsoft Identity Server for
> authentication. I am using APACHE CXF library to develop this feature. I
> read some document related to ws federation in CXF but I wasn't understand
> the whole concept. I am posting my WSDL and client code and the error I am
> getting. Can any one help me on this.?
>
> Here the ws policy content from my WSDL
>
> <wsp:Policy wsu:Id="WS2007FederationHttpBinding_IStoreService_policy">
> <wsp:ExactlyOne>
> <wsp:All>
> <sp:TransportBinding
>
> xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
> <wsp:Policy>
> <sp:TransportToken>
> <wsp:Policy>
> <sp:HttpsToken />
> </wsp:Policy>
> </sp:TransportToken>
> <sp:AlgorithmSuite>
> <wsp:Policy>
> <sp:Basic256 />
> </wsp:Policy>
> </sp:AlgorithmSuite>
> <sp:Layout>
> <wsp:Policy>
> <sp:Strict />
> </wsp:Policy>
> </sp:Layout>
> <sp:IncludeTimestamp />
> </wsp:Policy>
> </sp:TransportBinding>
> <sp:SignedSupportingTokens
>
> xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
> <wsp:Policy>
> <sp:IssuedToken
>
> sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-
> securitypolicy/200702/IncludeToken/AlwaysToRecipient">
> <Issuer
>
> xmlns="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
> <Address
> xmlns="http://www.w3.org/2005/08/addressing">
>
> https://slc.centershift.com/STS/issue/wstrust/mixed/username
> </Address>
> <Metadata
> xmlns="http://www.w3.org/2005/08/addressing">
> <Metadata
> xmlns="http://schemas.xmlsoap.org/ws/2004/09/mex"
>
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
> <wsx:MetadataSection xmlns="">
> <wsx:MetadataReference>
> <Address
> xmlns="http://www.w3.org/2005/08/addressing">https://slc.
> centershift.com/STS/issue/mex</Address>
> </wsx:MetadataReference>
> </wsx:MetadataSection>
> </Metadata>
> </Metadata>
> </Issuer>
> <sp:RequestSecurityTokenTemplate>
> <trust:KeyType
>
> xmlns:trust="http://docs.oasis-open.org/ws-sx/ws-trust/200512">
>
> http://docs.oasis-open.org/ws-sx/ws-trust/200512/Bearer
> </trust:KeyType>
> <trust:CanonicalizationAlgorithm
>
> xmlns:trust="http://docs.oasis-open.org/ws-sx/ws-trust/200512">
> http://www.w3.org/2001/10/xml-exc-c14n#</trust:CanonicalizationAlgorithm>
> <trust:EncryptionAlgorithm
>
> xmlns:trust="http://docs.oasis-open.org/ws-sx/ws-trust/200512">
> http://www.w3.org/2001/04/xmlenc#aes256-cbc</trust:EncryptionAlgorithm>
> </sp:RequestSecurityTokenTemplate>
> <wsp:Policy>
> <sp:RequireInternalReference />
> </wsp:Policy>
> </sp:IssuedToken>
> </wsp:Policy>
> </sp:SignedSupportingTokens>
> <sp:Wss11
>
> xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
> <wsp:Policy />
> </sp:Wss11>
> <sp:Trust13
>
> xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
> <wsp:Policy>
> <sp:MustSupportIssuedTokens />
> <sp:RequireClientEntropy />
> <sp:RequireServerEntropy />
> </wsp:Policy>
> </sp:Trust13>
> <wsaw:UsingAddressing />
> </wsp:All>
> </wsp:ExactlyOne>
> </wsp:Policy>
> Here is the service end-point:
>
> <wsdl:service name="StoreService">
> <wsdl:port name="WS2007FederationHttpBinding_IStoreService"
> binding="tns:WS2007FederationHttpBinding_IStoreService">
> <soap12:address
>
> location="https://slc.centershift.com/Store40/StoreService.svc" />
> <wsa10:EndpointReference>
> <wsa10:Address>
> https://slc.centershift.com/
> Store40/StoreService.svc
> </wsa10:Address>
> </wsa10:EndpointReference>
> </wsdl:port>
> </wsdl:service>
> Client Code:
>
> import java.net.MalformedURLException;
> import java.net.URL;
> import java.util.List;
> import java.util.concurrent.Executors;
>
> import javax.xml.ws.BindingProvider;
> import javax.xml.ws.soap.AddressingFeature;
>
> import
> com.reputation.r4e.integrator.centershift.handler.
> CenterShiftServiceConfigurator;
> import
> com.reputation.r4e.integrator.centershift.sws2.ArrayOfParameterValues;
> import
> com.reputation.r4e.integrator.centershift.sws2.GetDataViewResponse.
> GetDataViewResult;
> import com.reputation.r4e.integrator.centershift.sws2.GetDataView_Request;
> import com.reputation.r4e.integrator.centershift.sws2.IStoreService;
> import com.reputation.r4e.integrator.centershift.sws2.ParameterValues;
> import com.reputation.r4e.integrator.centershift.sws2.StoreService;
>
> public class CentershiftSws2Client {
>
> CenterShiftServiceConfigurator serviceConfigurator;
>
> public IStoreService service;
>
> /**
> * Get the Test service instance for use. If the instance does not
> create
> * yet, create it.
> *
> * @return The service instance
> */
> public IStoreService getService() {
> if (service == null) {
> service = createTestOperationManagerInstance();
> }
>
> return service;
> }
>
> /**
> * Creates and returns the instance of the {@link TestOperationManager}
> *
> * @return instance of the {@link TestOperationManager}
> */
> public IStoreService createTestOperationManagerInstance() {
> StoreService service = new
> StoreService(getWsdlLocation(StoreService.WSDL_LOCATION));
>
> service.setExecutor(Executors.newCachedThreadPool());
>
> IStoreService testOperationManagerSoap = service
> .getWS2007FederationHttpBindingIStoreService(new
> AddressingFeature(true));
>
> getServiceConfigurator().configure(testOperationManagerSoap);
>
> return testOperationManagerSoap;
> }
>
> /**
> * Used to get the environment-specific location of the wsdl. If there
> is no
> * concept of an environment-specific location of the wsdl, then just
> return
> * the input codedWSDL
> */
> public URL getWsdlLocation(URL codedWSDL) {
> URL wsdlLocation = null;
> try {
> wsdlLocation = new
> URL("https://slc.centershift.com/Store40/StoreService.svc?wsdl");
> } catch (MalformedURLException mue) {
> wsdlLocation = codedWSDL;
> }
>
> return wsdlLocation;
>
> }
>
> public CenterShiftServiceConfigurator getServiceConfigurator() {
> return serviceConfigurator;
> }
>
> public void setServiceConfigurator(CenterShiftServiceConfigurator
> centershiftServiceConfigurator) {
> this.serviceConfigurator = centershiftServiceConfigurator;
> }
>
> public static void main(String[] args) {
> CentershiftSws2Client testService = new CentershiftSws2Client();
> CenterShiftServiceConfigurator serviceConfigurator = new
> CenterShiftServiceConfigurator();
> testService.setServiceConfigurator(serviceConfigurator);
> IStoreService storeService = testService.getService();
> ((BindingProvider)
> storeService).getRequestContext().put(BindingProvider.ENDPOINT_
> ADDRESS_PROPERTY,
> "https://slc.centershift.com/Store40/StoreService.svc");
> ((BindingProvider)
> storeService).getResponseContext().put("ws-security.username.sct",
> "USER_NAME");
> ((BindingProvider)
> storeService).getResponseContext().put("ws-security.password.sct",
> "PASSWORD");
>
> GetDataView_Request dataView_Request = new GetDataView_Request();
> dataView_Request.setOrgID("ORG_ID");
> dataView_Request.setSiteID("SITE_ID");
> dataView_Request.setViewName("VIEW_NAME");
> ArrayOfParameterValues parameterValues = new
> ArrayOfParameterValues();
>
> ParameterValues paramters = new ParameterValues();
> paramters.setFilterType(0);
> paramters.setParameterName("start_date");
> paramters.setParameterValue("2016-10-01T00:00:00.000-06:00");
>
> parameterValues.getParameterValues().add(paramters);
> dataView_Request.setParameters(parameterValues);
>
> GetDataViewResult dataViewResult =
> storeService.getDataView(dataView_Request);
> List list = dataViewResult.getAny();
> System.out.println(list.size());
>
> }
> }
> StoreService Class:
>
> import java.net.MalformedURLException;
> import java.net.URL;
> import javax.xml.namespace.QName;
> import javax.xml.ws.WebEndpoint;
> import javax.xml.ws.WebServiceClient;
> import javax.xml.ws.WebServiceFeature;
> import javax.xml.ws.Service;
>
> /**
> * This class was generated by Apache CXF 3.1.7
> * 2016-10-06T21:02:01.741+05:30
> * Generated source version: 3.1.7
> *
> */
> @WebServiceClient(name = "StoreService",
> wsdlLocation =
> "https://slc.centershift.com/Store40/StoreService.svc?wsdl",
> targetNamespace = "http://tempuri.org/")
> public class StoreService extends Service {
>
> public final static URL WSDL_LOCATION;
>
> public final static QName SERVICE = new QName("http://tempuri.org/",
> "StoreService");
> public final static QName WS2007FederationHttpBindingIStoreService =
> new
> QName("http://tempuri.org/", "WS2007FederationHttpBinding_IStoreService");
> static {
> URL url = null;
> try {
> url = new
> URL("https://slc.centershift.com/Store40/StoreService.svc?wsdl");
> } catch (MalformedURLException e) {
> java.util.logging.Logger.getLogger(StoreService.class.
> getName())
> .log(java.util.logging.Level.INFO,
> "Can not initialize the default wsdl from {0}",
> "https://slc.centershift.com/Store40/StoreService.svc?wsdl");
> }
> WSDL_LOCATION = url;
> }
>
> public StoreService(URL wsdlLocation) {
> super(wsdlLocation, SERVICE);
> }
>
> public StoreService(URL wsdlLocation, QName serviceName) {
> super(wsdlLocation, serviceName);
> }
>
> public StoreService() {
> super(WSDL_LOCATION, SERVICE);
> }
>
> public StoreService(WebServiceFeature ... features) {
> super(WSDL_LOCATION, SERVICE, features);
> }
>
> public StoreService(URL wsdlLocation, WebServiceFeature ... features) {
> super(wsdlLocation, SERVICE, features);
> }
>
> public StoreService(URL wsdlLocation, QName serviceName,
> WebServiceFeature ... features) {
> super(wsdlLocation, serviceName, features);
> }
>
>
>
>
> /**
> *
> * @return
> * returns IStoreService
> */
> @WebEndpoint(name = "WS2007FederationHttpBinding_IStoreService")
> public IStoreService getWS2007FederationHttpBindingIStoreService() {
> return super.getPort(WS2007FederationHttpBindingIStoreService,
> IStoreService.class);
> }
>
> /**
> *
> * @param features
> * A list of {@link javax.xml.ws.WebServiceFeature} to configure
> on
> the proxy. Supported features not in the <code>features</code> parameter
> will have their default values.
> * @return
> * returns IStoreService
> */
> @WebEndpoint(name = "WS2007FederationHttpBinding_IStoreService")
> public IStoreService
> getWS2007FederationHttpBindingIStoreService(WebServiceFeature...
> features) {
> return super.getPort(WS2007FederationHttpBindingIStoreService,
> IStoreService.class, features);
> }
>
> }
> Exception:
>
> [WARN ][Wsdl11AttachmentPolicyProvider.getElementPolicy:198] Failed to
> build the policy
> 'WS2007FederationHttpBinding_IStoreService_policy':sp:HttpsToken must have
> an inner wsp:Policy element
> Exception in thread "main" java.lang.IllegalArgumentException:
> sp:HttpsToken must have an inner wsp:Policy element
> at
> org.apache.wss4j.policy.builders.HttpsTokenBuilder.
> build(HttpsTokenBuilder.java:55)
> at
> org.apache.wss4j.policy.builders.HttpsTokenBuilder.
> build(HttpsTokenBuilder.java:34)
> at
> org.apache.neethi.AssertionBuilderFactoryImpl.invokeBuilder(
> AssertionBuilderFactoryImpl.java:138)
> at
> org.apache.neethi.AssertionBuilderFactoryImpl.build(
> AssertionBuilderFactoryImpl.java:117)
> at
> org.apache.neethi.PolicyBuilder.processOperationElement(
> PolicyBuilder.java:224)
> at
> org.apache.neethi.PolicyBuilder.getPolicyOperator(PolicyBuilder.java:174)
> at org.apache.neethi.PolicyBuilder.getPolicy(
> PolicyBuilder.java:108)
> at
> org.apache.wss4j.policy.builders.TransportTokenBuilder.build(
> TransportTokenBuilder.java:41)
> at
> org.apache.wss4j.policy.builders.TransportTokenBuilder.build(
> TransportTokenBuilder.java:34)
> at
> org.apache.neethi.AssertionBuilderFactoryImpl.invokeBuilder(
> AssertionBuilderFactoryImpl.java:138)
> at
> org.apache.neethi.AssertionBuilderFactoryImpl.build(
> AssertionBuilderFactoryImpl.java:117)
> at
> org.apache.neethi.PolicyBuilder.processOperationElement(
> PolicyBuilder.java:224)
> at
> org.apache.neethi.PolicyBuilder.getPolicyOperator(PolicyBuilder.java:174)
> at org.apache.neethi.PolicyBuilder.getPolicy(
> PolicyBuilder.java:108)
> at
> org.apache.wss4j.policy.builders.TransportBindingBuilder.build(
> TransportBindingBuilder.java:44)
> at
> org.apache.wss4j.policy.builders.TransportBindingBuilder.build(
> TransportBindingBuilder.java:34)
> at
> org.apache.neethi.AssertionBuilderFactoryImpl.invokeBuilder(
> AssertionBuilderFactoryImpl.java:138)
> at
> org.apache.neethi.AssertionBuilderFactoryImpl.build(
> AssertionBuilderFactoryImpl.java:117)
> at
> org.apache.neethi.PolicyBuilder.processOperationElement(
> PolicyBuilder.java:224)
> at
> org.apache.neethi.PolicyBuilder.getAllOperator(PolicyBuilder.java:184)
> at
> org.apache.neethi.PolicyBuilder.processOperationElement(
> PolicyBuilder.java:217)
> at
> org.apache.neethi.PolicyBuilder.getExactlyOneOperator(
> PolicyBuilder.java:180)
> at
> org.apache.neethi.PolicyBuilder.processOperationElement(
> PolicyBuilder.java:215)
> at
> org.apache.neethi.PolicyBuilder.getPolicyOperator(PolicyBuilder.java:174)
> at org.apache.neethi.PolicyBuilder.getPolicy(
> PolicyBuilder.java:124)
> at
> org.apache.cxf.ws.policy.attachment.reference.
> LocalServiceModelReferenceResolver.resolveReference(
> LocalServiceModelReferenceResolver.java:53)
> at
> org.apache.cxf.ws.policy.attachment.wsdl11.Wsdl11AttachmentPolicyProvider
> .resolveLocal(Wsdl11AttachmentPolicyProvider.java:292)
> at
> org.apache.cxf.ws.policy.attachment.wsdl11.Wsdl11AttachmentPolicyProvider
> .resolveReference(Wsdl11AttachmentPolicyProvider.java:272)
> at
> org.apache.cxf.ws.policy.attachment.wsdl11.Wsdl11AttachmentPolicyProvider
> .getElementPolicy(Wsdl11AttachmentPolicyProvider.java:220)
> at
> org.apache.cxf.ws.policy.attachment.wsdl11.Wsdl11AttachmentPolicyProvider
> .getElementPolicy(Wsdl11AttachmentPolicyProvider.java:168)
> at
> org.apache.cxf.ws.policy.attachment.wsdl11.Wsdl11AttachmentPolicyProvider
> .getElementPolicy(Wsdl11AttachmentPolicyProvider.java:161)
> at
> org.apache.cxf.ws.policy.attachment.wsdl11.Wsdl11AttachmentPolicyProvider
> .getEffectivePolicy(Wsdl11AttachmentPolicyProvider.java:98)
> at
> org.apache.cxf.ws.policy.PolicyEngineImpl.getAggregatedEndpointPolicy(
> PolicyEngineImpl.java:464)
> at
> org.apache.cxf.ws.policy.EndpointPolicyImpl.initializePolicy(
> EndpointPolicyImpl.java:152)
> at
> org.apache.cxf.ws.policy.EndpointPolicyImpl.initialize(
> EndpointPolicyImpl.java:140)
> at
> org.apache.cxf.ws.policy.PolicyEngineImpl.createEndpointPolicyInfo(
> PolicyEngineImpl.java:604)
> at
> org.apache.cxf.ws.policy.PolicyEngineImpl.getEndpointPolicy(
> PolicyEngineImpl.java:316)
> at
> org.apache.cxf.ws.policy.PolicyEngineImpl.getClientEndpointPolicy(
> PolicyEngineImpl.java:303)
> at
> org.apache.cxf.ws.policy.PolicyDataEngineImpl.getClientEndpointPolicy(
> PolicyDataEngineImpl.java:61)
> at
> org.apache.cxf.transport.http.HTTPConduit.updateClientPolicy(
> HTTPConduit.java:318)
> at
> org.apache.cxf.transport.http.HTTPConduit.updateClientPolicy(
> HTTPConduit.java:338)
> at
> org.apache.cxf.transport.http.HTTPConduit.getClient(HTTPConduit.java:873)
> at
> org.apache.cxf.transport.http.HTTPConduit.configureConduitFromEndpointIn
> fo(HTTPConduit.java:360)
> at
> org.apache.cxf.transport.http.HTTPConduit.finalizeConfig(
> HTTPConduit.java:440)
> at
> org.apache.cxf.transport.http.HTTPTransportFactory.getConduit(
> HTTPTransportFactory.java:242)
> at
> org.apache.cxf.binding.soap.SoapTransportFactory.getConduit(
> SoapTransportFactory.java:226)
> at
> org.apache.cxf.binding.soap.SoapTransportFactory.getConduit(
> SoapTransportFactory.java:233)
> at
> org.apache.cxf.endpoint.AbstractConduitSelector.createConduit(
> AbstractConduitSelector.java:145)
> at
> org.apache.cxf.endpoint.AbstractConduitSelector.getSelectedConduit(
> AbstractConduitSelector.java:107)
> at
> org.apache.cxf.endpoint.UpfrontConduitSelector.selectConduit(
> UpfrontConduitSelector.java:77)
> at
> org.apache.cxf.endpoint.ClientImpl.getConduit(ClientImpl.java:845)
> at
> com.reputation.r4e.integrator.centershift.handler.
> CenterShiftServiceConfigurator.configure(CenterShiftServiceConfigurator
> .java:18)
> at
> com.reputation.r4e.integrator.centershift.CentershiftSws2Client.
> createTestOperationManagerInstance(CentershiftSws2Client.java:52)
> at
> com.reputation.r4e.integrator.centershift.CentershiftSws2Client.
> getService(CentershiftSws2Client.java:33)
> at
> com.reputation.r4e.integrator.centershift.CentershiftSws2Client.main(
> CentershiftSws2Client.java:86)
>
> *Questions:*
>
> 1. Do we have any end-end document related to ws federation/ws*- security
> other than APACHE CXF document.?
> 2. Is my approach is right.?
> 3. How we need to communicate Microsoft Identity Server with APACHE CXF.?
> 4. Can any one provide a sample code related to this.?
>
> Can any one help me on this. I was stuck over here.
>
> Thanks & Regards, Arthur
>
>
>
>
>
> --
> View this message in context: http://cxf.547215.n5.nabble.
> com/WS-Federation-client-impl-with-CXF-tp5773261.html
> Sent from the cxf-user mailing list archive at Nabble.com.
>
>
--
Colm O hEigeartaigh
Talend Community Coder
http://coders.talend.com