use of javax.xml.namespace.QName in project tdi-studio-se by Talend.
the class DynamicInvoker method invokeMethod.
/**
* Method invokeMethod
*
* @param wsdlLocation
* @param operationName
* @param inputName
* @param outputName
* @param portName
* @param args
*
* @return
*
* @throws Exception
*/
public HashMap invokeMethod(String operationName, String portName, String[] args) throws Exception {
String serviceNS = null;
String serviceName = null;
String operationQName = null;
// System.out.println("Preparing Axis dynamic invocation");
Service service = selectService(serviceNS, serviceName);
Operation operation = null;
org.apache.axis.client.Service dpf = new org.apache.axis.client.Service(wsdlParser, service.getQName());
if (needWINAuth) {
EngineConfiguration defaultConfig = EngineConfigurationFactoryFinder.newFactory().getClientEngineConfig();
SimpleProvider config = new SimpleProvider(defaultConfig);
config.deployTransport(HTTPTransport.DEFAULT_TRANSPORT_NAME, new CommonsHTTPSender());
AxisClient axisClient = new AxisClient(config);
dpf.setEngine(axisClient);
}
Vector inputs = new Vector();
Port port = selectPort(service.getPorts(), portName);
if (portName == null) {
portName = port.getName();
}
Binding binding = port.getBinding();
Call call = dpf.createCall(QName.valueOf(portName), QName.valueOf(operationName));
((org.apache.axis.client.Call) call).setTimeout(new Integer(timeout * 1000));
((org.apache.axis.client.Call) call).setProperty(ElementDeserializer.DESERIALIZE_CURRENT_ELEMENT, Boolean.TRUE);
if (needAuth) {
// authentication way1:
// for calling webservice in deploy.wsdd:
// <handler type="java:org.apache.axis.handlers.SimpleAuthorizationHandler"/>
((org.apache.axis.client.Call) call).setUsername(username);
((org.apache.axis.client.Call) call).setPassword(password);
// authentication way2:
// for bug:8403, in order to call webservice on "basic HTTP authentication"
((org.apache.axis.client.Call) call).setProperty(Stub.USERNAME_PROPERTY, username);
((org.apache.axis.client.Call) call).setProperty(Stub.PASSWORD_PROPERTY, password);
}
if (needWINAuth) {
((org.apache.axis.client.Call) call).setUsername(username);
((org.apache.axis.client.Call) call).setPassword(password);
}
if (useProxy) {
AxisProperties.setProperty("http.proxyHost", proxyHost);
AxisProperties.setProperty("http.proxyPort", proxyPort);
AxisProperties.setProperty("http.proxyUser", proxyUser);
AxisProperties.setProperty("http.proxyPassword", proxyPassword);
}
// Output types and names
Vector outNames = new Vector();
// Input types and names
Vector inNames = new Vector();
Vector inTypes = new Vector();
SymbolTable symbolTable = wsdlParser.getSymbolTable();
BindingEntry bEntry = symbolTable.getBindingEntry(binding.getQName());
Parameters parameters = null;
Iterator i = bEntry.getParameters().keySet().iterator();
while (i.hasNext()) {
Operation o = (Operation) i.next();
if (o.getName().equals(operationName)) {
operation = o;
parameters = (Parameters) bEntry.getParameters().get(o);
break;
}
}
if ((operation == null) || (parameters == null)) {
throw new RuntimeException(operationName + " was not found.");
}
// loop over paramters and set up in/out params
for (int j = 0; j < parameters.list.size(); ++j) {
Parameter p = (Parameter) parameters.list.get(j);
if (p.getMode() == 1) {
// IN
inNames.add(p.getQName().getLocalPart());
inTypes.add(p);
} else if (p.getMode() == 2) {
// OUT
outNames.add(p.getQName().getLocalPart());
} else if (p.getMode() == 3) {
// INOUT
inNames.add(p.getQName().getLocalPart());
inTypes.add(p);
outNames.add(p.getQName().getLocalPart());
}
}
// set output type
if (parameters.returnParam != null) {
if (!parameters.returnParam.getType().isBaseType()) {
((org.apache.axis.client.Call) call).registerTypeMapping(org.w3c.dom.Element.class, parameters.returnParam.getType().getQName(), new ElementSerializerFactory(), new ElementDeserializerFactory());
}
// Get the QName for the return Type
QName returnType = org.apache.axis.wsdl.toJava.Utils.getXSIType(parameters.returnParam);
QName returnQName = parameters.returnParam.getQName();
outNames.add(returnQName.getLocalPart());
}
if (inNames.size() != args.length - 2)
throw new RuntimeException("Need " + inNames.size() + " arguments!!!");
for (int pos = 0; pos < inNames.size(); ++pos) {
String arg = args[pos + 2];
Parameter p = (Parameter) inTypes.get(pos);
inputs.add(getParamData((org.apache.axis.client.Call) call, p, arg));
}
// System.out.println("Executing operation " + operationName + " with parameters:");
for (int j = 0; j < inputs.size(); j++) {
// System.out.println(inNames.get(j) + "=" + inputs.get(j));
}
Object ret = call.invoke(inputs.toArray());
Map outputs = call.getOutputParams();
HashMap map = new HashMap();
String name = null;
Object value = null;
if (outNames.size() > 0) {
name = (String) outNames.get(0);
value = outputs.get(name);
}
if ((value == null) && (ret != null)) {
map.put(name, ret);
} else {
map.put(outNames, outputs);
}
return map;
}
use of javax.xml.namespace.QName in project tdi-studio-se by Talend.
the class XRMAuthPolicyInterceptor method handleMessage.
public void handleMessage(SoapMessage message) throws Fault {
AssertionInfoMap aim = message.get(AssertionInfoMap.class);
if (null == aim) {
return;
}
QName qname = new QName("http://schemas.microsoft.com/xrm/2011/Contracts/Services", "AuthenticationPolicy", "ms-xrm");
Collection<AssertionInfo> ais = aim.get(qname);
if (null == ais || ais.size() == 0) {
return;
}
for (AssertionInfo ai : ais) {
ai.setAsserted(true);
}
}
use of javax.xml.namespace.QName in project tdi-studio-se by Talend.
the class NetsuiteManagement_CXF method initializeStub.
public void initializeStub() throws Exception {
URL wsdl_locationUrl = this.getClass().getResource("/wsdl/netsuite.wsdl");
QName serviceQname = new QName("urn:platform_2014_2.webservices.netsuite.com", "NetSuiteService");
NetSuiteService service = new NetSuiteService(wsdl_locationUrl, serviceQname);
NetSuitePortType port = service.getNetSuitePort();
BindingProvider provider = (BindingProvider) port;
Map<String, Object> requestContext = provider.getRequestContext();
requestContext.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, _url);
Preferences preferences = new Preferences();
preferences.setDisableMandatoryCustomFieldValidation(Boolean.FALSE);
preferences.setWarningAsError(Boolean.FALSE);
preferences.setIgnoreReadOnlyFields(Boolean.TRUE);
preferences.setDisableMandatoryCustomFieldValidation(Boolean.TRUE);
SearchPreferences searchPreferences = new SearchPreferences();
searchPreferences.setPageSize(this._pageSize);
searchPreferences.setBodyFieldsOnly(Boolean.valueOf(false));
RecordRef role = new RecordRef();
role.setInternalId(this._role);
Passport passport = new Passport();
passport.setEmail(this._email);
passport.setPassword(this._pwd);
passport.setRole(role);
passport.setAccount(this._account);
// Get the webservices domain for your account
GetDataCenterUrlsRequest dataCenterRequest = new GetDataCenterUrlsRequest();
dataCenterRequest.setAccount(this._account);
DataCenterUrls urls = null;
GetDataCenterUrlsResponse reponse = port.getDataCenterUrls(dataCenterRequest);
if (reponse != null && reponse.getGetDataCenterUrlsResult() != null) {
urls = reponse.getGetDataCenterUrlsResult().getDataCenterUrls();
}
if (urls == null) {
throw new Exception("Can't get a correct webservice domain! Please check your configuration or try to run again.");
}
String wsDomain = urls.getWebservicesDomain();
String endpoint = wsDomain.concat(new URL(this._url).getPath());
requestContext.put(BindingProvider.SESSION_MAINTAIN_PROPERTY, true);
requestContext.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, endpoint);
List<Header> list = (List<Header>) requestContext.get(Header.HEADER_LIST);
if (list == null) {
list = new ArrayList<Header>();
requestContext.put(Header.HEADER_LIST, list);
}
Header searchPreferences_header = new Header(new QName("urn:messages_2014_2.platform.webservices.netsuite.com", "searchPreferences"), searchPreferences, new JAXBDataBinding(searchPreferences.getClass()));
Header preferences_header = new Header(new QName("urn:messages_2014_2.platform.webservices.netsuite.com", "preferences"), preferences, new JAXBDataBinding(preferences.getClass()));
list.add(searchPreferences_header);
list.add(preferences_header);
LoginRequest request = new LoginRequest();
request.setPassport(passport);
port.login(request);
this._port = port;
Arrays.asList(new String[] { "", "", "" });
}
use of javax.xml.namespace.QName in project jersey by jersey.
the class Elements method createElement.
private static JAXBElement<XhtmlValueType> createElement(final String elementName, String value) {
try {
final XhtmlValueType element = new XhtmlValueType();
element.value = value;
final JAXBElement<XhtmlValueType> jaxbElement = new JAXBElement<XhtmlValueType>(new QName("http://www.w3.org/1999/xhtml", elementName), XhtmlValueType.class, element);
return jaxbElement;
} catch (Exception e) {
throw new RuntimeException(e);
}
}
use of javax.xml.namespace.QName in project intellij-community by JetBrains.
the class CompletionLists method addContextNames.
private static XPathNodeTest.PrincipalType addContextNames(XPathNodeTest element, ContextProvider contextProvider, PrefixedName prefixedName, Set<Lookup> list) {
final NamespaceContext namespaceContext = contextProvider.getNamespaceContext();
final XmlElement context = contextProvider.getContextElement();
final XPathNodeTest.PrincipalType principalType = element.getPrincipalType();
if (principalType == XPathNodeTest.PrincipalType.ELEMENT) {
final Set<QName> elementNames = contextProvider.getElements(false);
if (elementNames != null) {
for (QName pair : elementNames) {
if ("*".equals(pair.getLocalPart()))
continue;
if (namespaceMatches(prefixedName, pair.getNamespaceURI(), namespaceContext, context, true)) {
if (prefixedName.getPrefix() == null && namespaceContext != null) {
final String p = namespaceContext.getPrefixForURI(pair.getNamespaceURI(), context);
list.add(new NodeLookup(makePrefix(p) + pair.getLocalPart(), XPathNodeTest.PrincipalType.ELEMENT));
} else {
list.add(new NodeLookup(pair.getLocalPart(), XPathNodeTest.PrincipalType.ELEMENT));
}
}
}
}
} else if (principalType == XPathNodeTest.PrincipalType.ATTRIBUTE) {
final Set<QName> attributeNames = contextProvider.getAttributes(false);
if (attributeNames != null) {
for (QName pair : attributeNames) {
if ("*".equals(pair.getLocalPart()))
continue;
if (namespaceMatches(prefixedName, pair.getNamespaceURI(), namespaceContext, context, false)) {
if (prefixedName.getPrefix() == null && namespaceContext != null) {
final String p = namespaceContext.getPrefixForURI(pair.getNamespaceURI(), context);
list.add(new NodeLookup(makePrefix(p) + pair.getLocalPart(), XPathNodeTest.PrincipalType.ATTRIBUTE));
} else {
list.add(new NodeLookup(pair.getLocalPart(), XPathNodeTest.PrincipalType.ATTRIBUTE));
}
}
}
}
}
return principalType;
}
Aggregations