本文整理汇总了Java中org.apache.axis2.client.OperationClient.execute方法的典型用法代码示例。如果您正苦于以下问题:Java OperationClient.execute方法的具体用法?Java OperationClient.execute怎么用?Java OperationClient.execute使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.axis2.client.OperationClient
的用法示例。
在下文中一共展示了OperationClient.execute方法的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: getResponse
import org.apache.axis2.client.OperationClient; //导入方法依赖的package包/类
private SOAPEnvelope getResponse(SOAPEnvelope inEnvelope) throws AxisFault {
ConfigurationContext confctx = ConfigurationContextFactory.
createConfigurationContextFromFileSystem(TestingUtils.prefixBaseDirectory("target/test-resources/integrationRepo"),
null);
ServiceClient client = new ServiceClient(confctx, null);
Options options = new Options();
client.setOptions(options);
options.setSoapVersionURI(SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI);
options.setTo(targetEPR);
options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
options.setExceptionToBeThrownOnSOAPFault(false);
MessageContext msgctx = new MessageContext();
msgctx.setEnvelope(inEnvelope);
OperationClient opClient = client.createClient(ServiceClient.ANON_OUT_IN_OP);
opClient.addMessageContext(msgctx);
opClient.execute(true);
return opClient.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE).getEnvelope();
}
示例3: 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();
}
}
示例4: 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();
}
示例5: 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);
}
示例6: 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");
}
示例7: 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");
}
示例8: execute
import org.apache.axis2.client.OperationClient; //导入方法依赖的package包/类
/**
* Executes the OperationClient
*
* @param opClient - Fully configured OperationClient
* @param block - Indicates if blocking or non-blocking execute
* @param msgContext - Axis2 MessageContext
* @throws AxisFault - All exceptions are returned as AxisFaults
*/
private void execute(OperationClient opClient,
boolean block,
org.apache.axis2.context.MessageContext msgContext) throws AxisFault {
try {
// Pre-Execute logging and setup
preExecute(opClient, block, msgContext);
//check if Exception should be thrown on SOAPFault
if(log.isDebugEnabled()){
log.debug("Read throwExceptionIfSOAPFault property");
}
boolean exceptionToBeThrownOnSOAPFault= ClientUtils.getExceptionToBeThrownOnSOAPFault(msgContext);
if(log.isDebugEnabled()){
log.debug("throwExceptionIfSOAPFault property set on OperationClient.options "+ exceptionToBeThrownOnSOAPFault);
}
opClient.getOptions().setExceptionToBeThrownOnSOAPFault(exceptionToBeThrownOnSOAPFault);
// Invoke the OperationClient
opClient.execute(block);
} catch (Throwable e) {
// Catch all Throwable (including runtime exceptions and Errors) and
// throw as AxisFault.
// Since e could be a Throwable (or Error) instead of an Exception, we'll have to wrap it:
throw AxisFault.makeFault(ExceptionFactory.makeWebServiceException(e));
} finally {
// Post-Execute logging and setup
postExecute(opClient, block, msgContext);
}
}
示例9: 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;
}
示例10: 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;
}
示例11: 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;
}
示例12: invokeService
import org.apache.axis2.client.OperationClient; //导入方法依赖的package包/类
public static void invokeService(ServiceInvocationContext partnerInvocationContext,
ConfigurationContext configContext)
throws AxisFault {
//TODO check for one-way
MessageContext mctx = partnerInvocationContext.getInMessageContext();
OperationClient opClient = getOperationClient(partnerInvocationContext, configContext);
mctx.getOptions().setParent(opClient.getOptions());
/*
Else we assume that the epr is not changed by the process.
In this case there's a limitation we cannot invoke the epr in the wsdl
(by assigning that epr by partnerlink assign) if there is a endpoint
configuration available for that particular service
*/
opClient.addMessageContext(mctx);
Options operationOptions = opClient.getOptions();
if (partnerInvocationContext.getUep().isAddressingEnabled()) {
//Currently we set the action manually, but this should be handled by
// addressing module it-self?
String action = getAction(partnerInvocationContext);
if (log.isDebugEnabled()) {
log.debug("Soap action: " + action);
}
operationOptions.setAction(action);
//TODO set replyto as well
//operationOptions.setReplyTo(mctx.getReplyTo());
}
operationOptions.setTo(partnerInvocationContext.getUep());
opClient.execute(true);
}
示例13: invokeService
import org.apache.axis2.client.OperationClient; //导入方法依赖的package包/类
public static void invokeService(BPELMessageContext partnerInvocationContext,
ConfigurationContext configContext)
throws AxisFault {
MessageContext mctx = partnerInvocationContext.getInMessageContext();
OperationClient opClient = getOperationClient(partnerInvocationContext, configContext);
mctx.getOptions().setParent(opClient.getOptions());
/*
Else we assume that the epr is not changed by the process.
In this case there's a limitation we cannot invoke the epr in the wsdl
(by assingning that epr by partnerlink assign) if there is a endpoint
configuration available for that particular service
*/
addCustomHeadersToMessageContext(mctx);
opClient.addMessageContext(mctx);
Options operationOptions = opClient.getOptions();
if (partnerInvocationContext.getUep().isAddressingEnabled()) {
//Currently we set the action manually, but this should be handled by
// addressing module it-self?
String action = getAction(partnerInvocationContext);
if (log.isDebugEnabled()) {
log.debug("Soap action: " + action);
}
operationOptions.setAction(action);
//TODO set replyto as well
//operationOptions.setReplyTo(mctx.getReplyTo());
}
if (partnerInvocationContext.getUep().getAddress() == null) {
partnerInvocationContext.getUep().setAddress(
getEPRfromWSDL(partnerInvocationContext.getBpelServiceWSDLDefinition(),
partnerInvocationContext.getService(),
partnerInvocationContext.getPort()));
}
operationOptions.setTo(partnerInvocationContext.getUep());
opClient.execute(true);
if (partnerInvocationContext.isTwoWay()) {
partnerInvocationContext.setOutMessageContext(opClient.getMessageContext(
WSDLConstants.MESSAGE_LABEL_IN_VALUE));
partnerInvocationContext.setFaultMessageContext(opClient.getMessageContext(
WSDLConstants.MESSAGE_LABEL_FAULT_VALUE));
}
}
示例14: 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");
}
示例15: testaddError
import org.apache.axis2.client.OperationClient; //导入方法依赖的package包/类
public void testaddError() {
try {
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, "3"));
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);
fail("This should fail with : " + "org.apache.axis2.AxisFault: Invalid reference :2");
} catch (AxisFault axisFault) {
String val = axisFault.getFaultDetailElement().toString();
System.out.println("val = " + val);
int index = val.indexOf("org.apache.axis2.AxisFault: Invalid reference :2");
if (index < 0) {
fail("This should fail with : " +
"org.apache.axis2.AxisFault: Invalid reference :2");
}
}
}