cxf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From wasew <wasti...@gmail.com>
Subject Response Java Object ElementNSImpl problem
Date Wed, 19 Feb 2014 16:52:52 GMT
Hi,
I implement bipro ws client. First I call security token
I have problems on response. I cannot get a RequestedSecurityToken object,
because the "any" parameter is ElementNSImpl. By return a type he get a
null.
My Client implementation: 

public class WSClient {

	public static void main(String[] args) throws Exception {
		XTrustProvider.install();
		UsernamePasswordLoginXX service = new UsernamePasswordLoginXXX(
				new URL(
						"urlXXXX?wsdl"),
				new QName("http://www.bipro.net/namespace",
"UsernamePasswordLogin_XXXX"));

		SecurityTokenServicePortType port = service.getUserPasswordLogin();

		org.xmlsoap.schemas.ws._2005._02.trust.ObjectFactory trustFactory = new
ObjectFactory();
		JAXBElement<String> elementTokenType = trustFactory
				.createTokenType("http://schemas.xmlsoap.org/ws/2005/02/sc/sct");
		JAXBElement<String> elementRequestType = trustFactory
				.createRequestType("http://schemas.xmlsoap.org/ws/2005/02/trust/Issue");

		RequestSecurityTokenType parameters = new RequestSecurityTokenType();
	
parameters.setContext("xmlns:wst=\"http://schemas.xmlsoap.org/ws/2005/02/trust\"");
		parameters.getAny().add(elementTokenType);
		parameters.getAny().add(elementRequestType);

		QName BiPROVersion_QNAME = new
QName("http://www.bipro.net/namespace/allgemein",
				"BiPROVersion");
		JAXBElement<String> elementBiproVersion = new
JAXBElement<String>(BiPROVersion_QNAME,
				String.class, null, "XXXX");
		parameters.getAny().add(elementBiproVersion);

		QName RequestType_QNAME = new
QName("http://schemas.xmlsoap.org/ws/2005/02/trust",
				"RequestType");

		Map<QName, String> attributes = parameters.getOtherAttributes();
		attributes.put(RequestType_QNAME, "wst");

		Holder<RequestSecurityTokenResponseType> parameters0 = new
Holder<RequestSecurityTokenResponseType>();

		port.requestSecurityToken(parameters, parameters0);

		List objectList = parameters0.value.getAny();
		for (Object object : objectList) {
			if (object instanceof JAXBElement) {
				JAXBElement element = (JAXBElement) object;
				Object valueObject = element.getValue();
				if (valueObject instanceof LifetimeType) {
					LifetimeType lifetimeType = (LifetimeType) valueObject;
					System.out.println("Create: " + lifetimeType.getCreated().getValue()
							+ " Expires: " + lifetimeType.getExpires().getValue());
				}
				if (valueObject instanceof RequestedSecurityTokenType) {
					RequestedSecurityTokenType estt = (RequestedSecurityTokenType)
valueObject;
					System.out.println("Obj: " + estt.getAny());
				}
				System.out.println("Obj: " + valueObject.toString());
			}
		}

	}
}
Output: 

Obj: http://schemas.xmlsoap.org/ws/2005/02/sc/sct
Create: 2014-02-19T17:43:46 Expires: 2014-02-19T21:43:46
Obj: org.xmlsoap.schemas.ws._2005._02.trust.LifetimeType@3c789d63
Obj: [wsc:SecurityContextToken: null]
Obj:
org.xmlsoap.schemas.ws._2005._02.trust.RequestedSecurityTokenType@12a4ed99

Is this a right way to get the STS?





--
View this message in context: http://cxf.547215.n5.nabble.com/Response-Java-Object-ElementNSImpl-problem-tp5740171.html
Sent from the cxf-dev mailing list archive at Nabble.com.

Mime
View raw message