本文整理汇总了Java中org.apache.axis2.client.OperationClient.getMessageContext方法的典型用法代码示例。如果您正苦于以下问题:Java OperationClient.getMessageContext方法的具体用法?Java OperationClient.getMessageContext怎么用?Java OperationClient.getMessageContext使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.axis2.client.OperationClient
的用法示例。
在下文中一共展示了OperationClient.getMessageContext方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: send
import org.apache.axis2.client.OperationClient; //导入方法依赖的package包/类
protected MessageContext send(ClientOptions options, AxisMessage message, QName operationQName,
boolean block, String resultMessageLabel) throws Exception {
OperationClient mepClient = serviceClient.createClient(operationQName);
MessageContext mc = new MessageContext();
mc.setProperty(Constants.Configuration.MESSAGE_TYPE, message.getMessageType());
mc.setEnvelope(message.getEnvelope());
Attachments attachments = message.getAttachments();
if (attachments != null) {
mc.setAttachmentMap(attachments);
mc.setDoingSwA(true);
mc.setProperty(Constants.Configuration.ENABLE_SWA, true);
}
for (AxisTestClientConfigurator configurator : configurators) {
configurator.setupRequestMessageContext(mc);
}
mc.setProperty(Constants.Configuration.CHARACTER_SET_ENCODING, options.getCharset());
mc.setServiceContext(serviceClient.getServiceContext());
if (metrics != null) {
mc.setProperty(BaseConstants.METRICS_COLLECTOR, metrics);
}
mepClient.addMessageContext(mc);
mepClient.execute(block);
// mepClient.complete(mc);
return resultMessageLabel == null ? null : mepClient.getMessageContext(resultMessageLabel);
}
示例2: main
import org.apache.axis2.client.OperationClient; //导入方法依赖的package包/类
public static void main(String[] args) {
try {
ServiceClient serviceClient = new ServiceClient();
OperationClient opClient = serviceClient.createClient(ServiceClient.ANON_OUT_IN_OP);
//creating message context
MessageContext outMsgCtx = new MessageContext();
//assigning message contexts option object into instance variable
Options opts = outMsgCtx.getOptions();
//setting properties into option
opts.setTo(new EndpointReference(
"http://localhost:8080/axis2/services/DynamicService.DynamicServiceHttpSoap11Endpoint/"));
opts.setAction("urn:echoEmployee");
outMsgCtx.setEnvelope(creatSOAPEnvelop());
opClient.addMessageContext(outMsgCtx);
opClient.execute(true);
MessageContext inMsgtCtx = opClient.getMessageContext("In");
SOAPEnvelope response = inMsgtCtx.getEnvelope();
System.out.println(response);
} catch (AxisFault axisFault) {
axisFault.printStackTrace();
}
}
示例3: testEchoXMLSyncMC
import org.apache.axis2.client.OperationClient; //导入方法依赖的package包/类
public void testEchoXMLSyncMC() throws Exception {
AxisOperation opdesc = new OutInAxisOperation(new QName("echoOMElement"));
Options options = new Options();
options.setTo(targetEPR);
options.setAction(operationName.getLocalPart());
options.setTransportInProtocol(Constants.TRANSPORT_TCP);
OMFactory fac = OMAbstractFactory.getOMFactory();
OMNamespace omNs = fac.createOMNamespace("http://localhost/my", "my");
OMElement method = fac.createOMElement("echoOMElement", omNs);
OMElement value = fac.createOMElement("myValue", omNs);
value.setText("Isaac Asimov, The Foundation Trilogy");
method.addChild(value);
SOAPFactory factory = OMAbstractFactory.getSOAP11Factory();
SOAPEnvelope envelope = factory.getDefaultEnvelope();
envelope.getBody().addChild(method);
MessageContext requestContext = new MessageContext();
requestContext.setConfigurationContext(configContext);
requestContext.setAxisService(clientService);
requestContext.setAxisOperation(opdesc);
requestContext.setEnvelope(envelope);
ServiceClient sender = new ServiceClient(configContext, clientService);
sender.setOptions(options);
OperationClient opClient = sender.createClient(new QName("echoOMElement"));
opClient.addMessageContext(requestContext);
opClient.setOptions(options);
opClient.execute(true);
MessageContext response = opClient.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
SOAPEnvelope env = response.getEnvelope();
assertNotNull(env);
env.getBody().serialize(StAXUtils.createXMLStreamWriter(
System.out));
sender.cleanup();
}
示例4: testEchoXMLSync
import org.apache.axis2.client.OperationClient; //导入方法依赖的package包/类
public void testEchoXMLSync() throws Exception {
Options options = new Options();
options.setTo(targetEPR);
options.setProperty(Constants.Configuration.ENABLE_SWA, Constants.VALUE_TRUE);
options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
options.setSoapVersionURI(SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI);
options.setTimeOutInMilliSeconds(100000);
options.setAction(Constants.AXIS2_NAMESPACE_URI + "/" + operationName.getLocalPart());
options.setTo(targetEPR);
ConfigurationContext configContext =
ConfigurationContextFactory.createConfigurationContextFromFileSystem(
TestingUtils.prefixBaseDirectory("target/test-resources/integrationRepo"), null);
ServiceClient sender = new ServiceClient(configContext, null);
sender.setOptions(options);
OperationClient mepClient = sender.createClient(ServiceClient.ANON_OUT_IN_OP);
MessageContext mc = new MessageContext();
mc.setEnvelope(createEnvelope());
FileDataSource fileDataSource = new FileDataSource(TestingUtils.prefixBaseDirectory("test-resources/mtom/test.jpg"));
DataHandler dataHandler = new DataHandler(fileDataSource);
mc.addAttachment("FirstAttachment", dataHandler);
mepClient.addMessageContext(mc);
mepClient.execute(true);
MessageContext response = mepClient.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
DataHandler dataHandler2 = response.getAttachment("FirstAttachment");
assertNotNull(dataHandler);
compareDataHandlers(dataHandler, dataHandler2);
}
示例5: testMulitref1
import org.apache.axis2.client.OperationClient; //导入方法依赖的package包/类
public void testMulitref1() throws AxisFault {
RPCServiceClient sender = getRPCClient("EchoXMLService", "echoString");
OMFactory fac = OMAbstractFactory.getOMFactory();
OMNamespace omNs = fac.createOMNamespace(NAMESPACE, "my");
OMElement method = fac.createOMElement("echoString", omNs);
OMElement value = fac.createOMElement("arg0", null);
value.addAttribute(fac.createOMAttribute("href", null, "#1"));
method.addChild(value);
SOAPFactory factory = OMAbstractFactory.getSOAP11Factory();
SOAPEnvelope envelope = factory.getDefaultEnvelope();
envelope.getBody().addChild(method);
OMElement ref = fac.createOMElement("reference", null);
ref.addAttribute(fac.createOMAttribute("id", null, "1"));
ref.setText("hello Axis2");
envelope.getBody().addChild(ref);
MessageContext reqMessageContext = new MessageContext();
OperationClient opClinet = sender.createClient(ServiceClient.ANON_OUT_IN_OP);
reqMessageContext.setEnvelope(envelope);
opClinet.addMessageContext(reqMessageContext);
opClinet.execute(true);
MessageContext responseMessageContx =
opClinet.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
SOAPEnvelope env = responseMessageContx.getEnvelope();
assertEquals(env.getBody().getFirstElement().getFirstElement().getText(), "hello Axis2");
}
示例6: testaddSameRef
import org.apache.axis2.client.OperationClient; //导入方法依赖的package包/类
public void testaddSameRef() throws AxisFault {
RPCServiceClient sender = getRPCClient("EchoXMLService", "add");
OMFactory fac = OMAbstractFactory.getOMFactory();
OMNamespace omNs = fac.createOMNamespace(NAMESPACE, "my");
OMElement method = fac.createOMElement("add", omNs);
OMElement value = fac.createOMElement("arg0", null);
value.addAttribute(fac.createOMAttribute("href", null, "#1"));
method.addChild(value);
OMElement value2 = fac.createOMElement("arg1", null);
value2.addAttribute(fac.createOMAttribute("href", null, "#1"));
method.addChild(value2);
SOAPFactory factory = OMAbstractFactory.getSOAP11Factory();
SOAPEnvelope envelope = factory.getDefaultEnvelope();
envelope.getBody().addChild(method);
OMElement ref = fac.createOMElement("reference", null);
ref.addAttribute(fac.createOMAttribute("id", null, "1"));
ref.setText("10");
envelope.getBody().addChild(ref);
MessageContext reqMessageContext = new MessageContext();
OperationClient opClinet = sender.createClient(ServiceClient.ANON_OUT_IN_OP);
reqMessageContext.setEnvelope(envelope);
opClinet.addMessageContext(reqMessageContext);
opClinet.execute(true);
MessageContext responseMessageContx =
opClinet.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
SOAPEnvelope env = responseMessageContx.getEnvelope();
assertEquals(env.getBody().getFirstElement().getFirstElement().getText(), "20");
}
示例7: makeRequest
import org.apache.axis2.client.OperationClient; //导入方法依赖的package包/类
private List<ResponseData> makeRequest(String session, int iterations, long sleepTime, SOAPEnvelope[] envelopes,
ServiceClient client) throws AxisFault {
List<ResponseData> responseList = new ArrayList<ResponseData>();
int i = 0;
int sessionNumber;
String[] cookies = new String[3];
boolean httpSession = session != null && "http".equals(session);
int cookieNumber;
while (i < iterations) {
i++;
if (sleepTime != -1) {
try {
Thread.sleep(sleepTime);
} catch (InterruptedException ignored) {
}
}
MessageContext messageContext = new MessageContext();
sessionNumber = getSessionTurn(envelopes.length);
messageContext.setEnvelope(envelopes[sessionNumber]);
cookieNumber = getSessionTurn(cookies.length);
String cookie = cookies[cookieNumber];
if (httpSession) {
setSessionID(messageContext, cookie);
}
try {
OperationClient op = client.createClient(ServiceClient.ANON_OUT_IN_OP);
op.addMessageContext(messageContext);
op.execute(true);
MessageContext responseContext =
op.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
String receivedCookie = extractSessionID(responseContext);
String receivedSetCookie = getSetCookieHeader(responseContext);
if (httpSession) {
if (receivedSetCookie != null && !"".equals(receivedSetCookie)) {
cookies[cookieNumber] = receivedCookie;
}
}
SOAPEnvelope responseEnvelope = responseContext.getEnvelope();
OMElement vElement =
responseEnvelope.getBody().getFirstChildWithName(new QName("Value"));
if (log.isDebugEnabled()) {
log.debug(
"Request: " + i + " with Session ID: " + (httpSession ? cookie : sessionNumber) + " ---- " +
"Response : with " + (httpSession && receivedCookie != null ?
(receivedSetCookie != null ? receivedSetCookie : receivedCookie) :
" ") + " " + vElement.getText());
}
responseList
.add(new ResponseData(true, "" + (httpSession ? cookie : sessionNumber), vElement.getText()));
} catch (AxisFault axisFault) {
if (log.isDebugEnabled()) {
log.debug("Request with session id " + (httpSession ? cookie : sessionNumber), axisFault);
}
responseList.add(
new ResponseData(false, "" + (httpSession ? cookie : sessionNumber), axisFault.getMessage()));
}
}
return responseList;
}
示例8: sendUsingSwA
import org.apache.axis2.client.OperationClient; //导入方法依赖的package包/类
public static MessageContext sendUsingSwA(String fileName, String targetEPR) throws IOException {
Options options = new Options();
options.setTo(new EndpointReference(targetEPR));
options.setAction("urn:uploadFileUsingSwA");
options.setProperty(Constants.Configuration.ENABLE_SWA, Constants.VALUE_TRUE);
ServiceClient sender = createServiceClient();
sender.setOptions(options);
OperationClient mepClient = sender.createClient(ServiceClient.ANON_OUT_IN_OP);
MessageContext mc = new MessageContext();
System.out.println("Sending file : " + fileName + " as SwA");
FileDataSource fileDataSource = new FileDataSource(new File(fileName));
DataHandler dataHandler = new DataHandler(fileDataSource);
String attachmentID = mc.addAttachment(dataHandler);
SOAPFactory factory = OMAbstractFactory.getSOAP11Factory();
SOAPEnvelope env = factory.getDefaultEnvelope();
OMNamespace ns = factory.createOMNamespace("http://services.samples", "m0");
OMElement payload = factory.createOMElement("uploadFileUsingSwA", ns);
OMElement request = factory.createOMElement("request", ns);
OMElement imageId = factory.createOMElement("imageId", ns);
imageId.setText(attachmentID);
request.addChild(imageId);
payload.addChild(request);
env.getBody().addChild(payload);
mc.setEnvelope(env);
mepClient.addMessageContext(mc);
mepClient.execute(true);
MessageContext response = mepClient.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
SOAPBody body = response.getEnvelope().getBody();
String imageContentId = body.
getFirstChildWithName(new QName("http://services.samples", "uploadFileUsingSwAResponse")).
getFirstChildWithName(new QName("http://services.samples", "response")).
getFirstChildWithName(new QName("http://services.samples", "imageId")).
getText();
Attachments attachment = response.getAttachmentMap();
dataHandler = attachment.getDataHandler(imageContentId);
File tempFile = File.createTempFile("swa-", ".gif");
FileOutputStream fos = new FileOutputStream(tempFile);
dataHandler.writeTo(fos);
fos.flush();
fos.close();
System.out.println("Saved response to file : " + tempFile.getAbsolutePath());
return response;
}
示例9: invokeRegistrationService
import org.apache.axis2.client.OperationClient; //导入方法依赖的package包/类
public static MessageContext invokeRegistrationService(MessageContext mctx, String registrationService) throws AxisFault {
int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId();
ConfigurationContext configurationContext = HTCoordinationModuleContentHolder.getInstance().getHtServer().getTaskStoreManager().
getHumanTaskStore(tenantId).getConfigContext();
OperationClient opClient = getOperationClient(mctx, configurationContext);
mctx.getOptions().setParent(opClient.getOptions());
opClient.addMessageContext(mctx);
Options operationOptions = opClient.getOptions();
operationOptions.setTo(new EndpointReference(registrationService));
operationOptions.setAction(Constants.WS_COOR_REGISTERATION_ACTION);
// operationOptions.setTransportInProtocol(org.apache.axis2.Constants.TRANSPORT_HTTPS);
//Setting basic auth headers. Reading those information using HT server config.
HumanTaskServerConfiguration serverConfig = HTCoordinationModuleContentHolder.getInstance().getHtServer().getServerConfig();
// String tenantDomain = MultitenantUtils.getTenantDomainFromUrl(registrationService);
// if (registrationService.equals(tenantDomain)) {
// //this is a Super tenant registration service
// if (log.isDebugEnabled()) {
// log.debug("Sending Username" + serverConfig.getRegistrationServiceAuthUsername() + " - " + serverConfig.getRegistrationServiceAuthPassword()); //TODO REMOVE this
// }
// setBasicAccessSecurityHeaders(serverConfig.getRegistrationServiceAuthUsername(), serverConfig.getRegistrationServiceAuthPassword(), true, operationOptions);
// } else {
// if (log.isDebugEnabled()) {
// log.debug("Sending ws-coor Registration request to tenant domain: " + tenantDomain);
// }
// // Tenant's registration service
//
// String username = serverConfig.getRegistrationServiceAuthUsername() + "@" + tenantDomain;
// String pass = serverConfig.getRegistrationServiceAuthPassword();
// if (log.isDebugEnabled()) {
// log.debug("Sending Username" + username + " - " + pass); //TODO REMOVE this
// }
// setBasicAccessSecurityHeaders(username,pass,true,operationOptions);
// }
HttpTransportProperties.Authenticator basicAuthentication = new HttpTransportProperties.Authenticator();
basicAuthentication.setPreemptiveAuthentication(true);
basicAuthentication.setUsername(serverConfig.getRegistrationServiceAuthUsername());
basicAuthentication.setPassword(serverConfig.getRegistrationServiceAuthPassword());
operationOptions.setProperty(org.apache.axis2.transport.http.HTTPConstants.AUTHENTICATE, basicAuthentication);
if (log.isDebugEnabled()) {
log.debug("Invoking Registration service");
}
opClient.execute(true);
MessageContext responseMessageContext =
opClient.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
return responseMessageContext;
}
示例10: testadd
import org.apache.axis2.client.OperationClient; //导入方法依赖的package包/类
public void testadd() throws AxisFault {
RPCServiceClient sender = getRPCClient("EchoXMLService", "add");
OMFactory fac = OMAbstractFactory.getOMFactory();
OMNamespace omNs = fac.createOMNamespace(NAMESPACE, "my");
OMElement method = fac.createOMElement("add", omNs);
OMElement value = fac.createOMElement("arg0", null);
value.addAttribute(fac.createOMAttribute("href", null, "#1"));
method.addChild(value);
OMElement value2 = fac.createOMElement("arg1", null);
value2.addAttribute(fac.createOMAttribute("href", null, "#2"));
method.addChild(value2);
SOAPFactory factory = OMAbstractFactory.getSOAP11Factory();
SOAPEnvelope envelope = factory.getDefaultEnvelope();
envelope.getBody().addChild(method);
OMElement ref = fac.createOMElement("reference", null);
ref.addAttribute(fac.createOMAttribute("id", null, "1"));
ref.setText("10");
envelope.getBody().addChild(ref);
OMElement ref2 = fac.createOMElement("reference", null);
ref2.addAttribute(fac.createOMAttribute("id", null, "2"));
ref2.setText("10");
envelope.getBody().addChild(ref2);
MessageContext reqMessageContext = new MessageContext();
OperationClient opClinet = sender.createClient(ServiceClient.ANON_OUT_IN_OP);
reqMessageContext.setEnvelope(envelope);
opClinet.addMessageContext(reqMessageContext);
opClinet.execute(true);
MessageContext responseMessageContx =
opClinet.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
SOAPEnvelope env = responseMessageContx.getEnvelope();
assertEquals(env.getBody().getFirstElement().getFirstElement().getText(), "20");
}
示例11: testMulitrefBean
import org.apache.axis2.client.OperationClient; //导入方法依赖的package包/类
public void testMulitrefBean() throws Exception {
RPCServiceClient sender = getRPCClient("EchoXMLService", "editBean");
OMFactory fac = OMAbstractFactory.getOMFactory();
OMNamespace omNs = fac.createOMNamespace(NAMESPACE, "my");
OMElement method = fac.createOMElement("editBean", omNs);
OMElement value = fac.createOMElement("arg0", null);
value.addAttribute(fac.createOMAttribute("href", null, "#1"));
method.addChild(value);
OMElement value2 = fac.createOMElement("arg1", null);
value2.setText("159");
method.addChild(value2);
SOAPFactory factory = OMAbstractFactory.getSOAP11Factory();
SOAPEnvelope envelope = factory.getDefaultEnvelope();
envelope.getBody().addChild(method);
String ref1 =
"<reference id=\"1\"><name>Deepal</name><value href=\"#2\"/><address href=\"#3\"/></reference>";
OMElement om1 = getOMElement(ref1, fac);
envelope.getBody().addChild(om1);
String ref2 = "<reference id=\"2\">false</reference>";
OMElement om2 = getOMElement(ref2, fac);
envelope.getBody().addChild(om2);
String ref3 = "<reference id=\"3\"><town href=\"#4\"/><number>1010</number></reference>";
OMElement om3 = getOMElement(ref3, fac);
envelope.getBody().addChild(om3);
String ref4 = "<reference id=\"4\">Colombo3</reference>";
OMElement om4 = getOMElement(ref4, fac);
envelope.getBody().addChild(om4);
MessageContext reqMessageContext = new MessageContext();
OperationClient opClinet = sender.createClient(ServiceClient.ANON_OUT_IN_OP);
reqMessageContext.setEnvelope(envelope);
opClinet.addMessageContext(reqMessageContext);
opClinet.execute(true);
MessageContext responseMessageContx =
opClinet.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
SOAPEnvelope env = responseMessageContx.getEnvelope();
OMElement response = env.getBody().getFirstElement();
MyBean resBean = (MyBean)BeanUtil.deserialize(MyBean.class, response.getFirstElement(),
new DefaultObjectSupplier(), null);
assertNotNull(resBean);
assertEquals(resBean.getAge(), 159);
}
示例12: testbeanOM
import org.apache.axis2.client.OperationClient; //导入方法依赖的package包/类
public void testbeanOM() throws Exception {
RPCServiceClient sender = getRPCClient("EchoXMLService", "beanOM");
OMFactory fac = OMAbstractFactory.getOMFactory();
OMNamespace omNs = fac.createOMNamespace(NAMESPACE, "my");
OMElement method = fac.createOMElement("beanOM", omNs);
OMElement value = fac.createOMElement("arg0", null);
value.addAttribute(fac.createOMAttribute("href", null, "#1"));
method.addChild(value);
OMElement value2 = fac.createOMElement("arg1", null);
value2.setText("159");
method.addChild(value2);
SOAPFactory factory = OMAbstractFactory.getSOAP11Factory();
SOAPEnvelope envelope = factory.getDefaultEnvelope();
envelope.getBody().addChild(method);
String ref1 =
"<reference id=\"1\"><name>Deepal</name><value href=\"#2\"/><address href=\"#3\"/></reference>";
OMElement om1 = getOMElement(ref1, fac);
envelope.getBody().addChild(om1);
String ref2 = "<reference id=\"2\">false</reference>";
OMElement om2 = getOMElement(ref2, fac);
envelope.getBody().addChild(om2);
String ref3 = "<reference id=\"3\"><town href=\"#4\"/><number>1010</number></reference>";
OMElement om3 = getOMElement(ref3, fac);
envelope.getBody().addChild(om3);
String ref4 = "<reference id=\"4\">Colombo3</reference>";
OMElement om4 = getOMElement(ref4, fac);
envelope.getBody().addChild(om4);
MessageContext reqMessageContext = new MessageContext();;
OperationClient opClinet = sender.createClient(ServiceClient.ANON_OUT_IN_OP);
reqMessageContext.setEnvelope(envelope);
opClinet.addMessageContext(reqMessageContext);
opClinet.execute(true);
MessageContext responseMessageContx =
opClinet.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
SOAPEnvelope env = responseMessageContx.getEnvelope();
OMElement response = env.getBody().getFirstElement();
MyBean resBean = (MyBean)BeanUtil.deserialize(MyBean.class, response.getFirstElement(),
new DefaultObjectSupplier(), null);
assertNotNull(resBean);
assertEquals(resBean.getAge(), 159);
}
示例13: testomrefs
import org.apache.axis2.client.OperationClient; //导入方法依赖的package包/类
public void testomrefs() throws Exception {
RPCServiceClient sender = getRPCClient("EchoXMLService", "omrefs");
OMFactory fac = OMAbstractFactory.getOMFactory();
OMNamespace omNs = fac.createOMNamespace(NAMESPACE, "my");
OMElement method = fac.createOMElement("omrefs", omNs);
OMElement value = fac.createOMElement("arg0", null);
value.addAttribute(fac.createOMAttribute("href", null, "#1"));
method.addChild(value);
OMElement value2 = fac.createOMElement("arg1", null);
value2.addAttribute(fac.createOMAttribute("href", null, "#1"));
method.addChild(value2);
SOAPFactory factory = OMAbstractFactory.getSOAP11Factory();
SOAPEnvelope envelope = factory.getDefaultEnvelope();
envelope.getBody().addChild(method);
String ref1 =
"<reference id=\"1\"><name>Deepal</name><value href=\"#2\"/><address href=\"#3\"/></reference>";
OMElement om1 = getOMElement(ref1, fac);
envelope.getBody().addChild(om1);
String ref2 = "<reference id=\"2\">false</reference>";
OMElement om2 = getOMElement(ref2, fac);
envelope.getBody().addChild(om2);
String ref3 = "<reference id=\"3\"><town href=\"#4\"/><number>1010</number></reference>";
OMElement om3 = getOMElement(ref3, fac);
envelope.getBody().addChild(om3);
String ref4 = "<reference id=\"4\">Colombo3</reference>";
OMElement om4 = getOMElement(ref4, fac);
envelope.getBody().addChild(om4);
MessageContext reqMessageContext = new MessageContext();;
OperationClient opClinet = sender.createClient(ServiceClient.ANON_OUT_IN_OP);
reqMessageContext.setEnvelope(envelope);
opClinet.addMessageContext(reqMessageContext);
opClinet.execute(true);
MessageContext responseMessageContx =
opClinet.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
SOAPEnvelope env = responseMessageContx.getEnvelope();
OMElement response = env.getBody().getFirstElement();
ArrayList args = new ArrayList();
args.add(boolean.class);
Object [] resBean =
BeanUtil.deserialize(response, args.toArray(), new DefaultObjectSupplier());
assertNotNull(resBean);
assertEquals(((Boolean)resBean[0]).booleanValue(), true);
}
示例14: testechoEmployee
import org.apache.axis2.client.OperationClient; //导入方法依赖的package包/类
public void testechoEmployee() throws Exception {
RPCServiceClient sender = getRPCClient("EchoXMLService", "echoEmployee");
OMFactory fac = OMAbstractFactory.getOMFactory();
OMNamespace omNs = fac.createOMNamespace(NAMESPACE, "my");
OMElement method = fac.createOMElement("echoEmployee", omNs);
OMElement value = fac.createOMElement("arg0", null);
value.addAttribute(fac.createOMAttribute("href", null, "#1"));
method.addChild(value);
SOAPFactory factory = OMAbstractFactory.getSOAP11Factory();
SOAPEnvelope envelope = factory.getDefaultEnvelope();
envelope.getBody().addChild(method);
String str = "<reference id=\"1\">\n" +
" <name>John</name>\n" +
" <age>50</age>\n" +
" <emplyer href=\"#1\"/>\n" +
" <address href=\"#2\"/>\n" +
"</reference>";
envelope.getBody().addChild(getOMElement(str, fac));
str = "<reference id=\"2\">\n" +
"<town>Colombo3</town><number>1010</number>\n" +
"</reference>";
envelope.getBody().addChild(getOMElement(str, fac));
MessageContext reqMessageContext = new MessageContext();
OperationClient opClinet = sender.createClient(ServiceClient.ANON_OUT_IN_OP);
reqMessageContext.setEnvelope(envelope);
opClinet.addMessageContext(reqMessageContext);
opClinet.execute(true);
MessageContext responseMessageContx =
opClinet.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
SOAPEnvelope env = responseMessageContx.getEnvelope();
Employee emp = (Employee)BeanUtil.deserialize(Employee.class, env.getBody()
.getFirstElement().getFirstElement(), new DefaultObjectSupplier(), null);
assertNotNull(emp);
}
示例15: transferFile
import org.apache.axis2.client.OperationClient; //导入方法依赖的package包/类
public static void transferFile(File file, String destinationFile)
throws Exception {
Options options = new Options();
options.setTo(targetEPR);
options.setProperty(Constants.Configuration.ENABLE_SWA,
Constants.VALUE_TRUE);
options.setSoapVersionURI(SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI);
// Increase the time out when sending large attachments
options.setTimeOutInMilliSeconds(10000);
options.setTo(targetEPR);
options.setAction("urn:uploadFile");
// assume the use runs this sample at
// <axis2home>/samples/soapwithattachments/ dir
ConfigurationContext configContext = ConfigurationContextFactory
.createConfigurationContextFromFileSystem("../../repository",
null);
ServiceClient sender = new ServiceClient(configContext, null);
sender.setOptions(options);
OperationClient mepClient = sender
.createClient(ServiceClient.ANON_OUT_IN_OP);
MessageContext mc = new MessageContext();
FileDataSource fileDataSource = new FileDataSource(file);
// Create a dataHandler using the fileDataSource. Any implementation of
// javax.activation.DataSource interface can fit here.
DataHandler dataHandler = new DataHandler(fileDataSource);
String attachmentID = mc.addAttachment(dataHandler);
SOAPFactory fac = OMAbstractFactory.getSOAP11Factory();
SOAPEnvelope env = fac.getDefaultEnvelope();
OMNamespace omNs = fac.createOMNamespace(
"http://service.soapwithattachments.sample", "swa");
OMElement uploadFile = fac.createOMElement("uploadFile", omNs);
OMElement nameEle = fac.createOMElement("name", omNs);
nameEle.setText(destinationFile);
OMElement idEle = fac.createOMElement("attchmentID", omNs);
idEle.setText(attachmentID);
uploadFile.addChild(nameEle);
uploadFile.addChild(idEle);
env.getBody().addChild(uploadFile);
mc.setEnvelope(env);
mepClient.addMessageContext(mc);
mepClient.execute(true);
MessageContext response = mepClient
.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
SOAPBody body = response.getEnvelope().getBody();
OMElement element = body.getFirstElement().getFirstChildWithName(
new QName("http://service.soapwithattachments.sample","return"));
System.out.println(element.getText());
}