当前位置: 首页>>代码示例>>Java>>正文


Java OperationClient.getMessageContext方法代码示例

本文整理汇总了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);
    }
 
开发者ID:wso2,项目名称:wso2-axis2-transports,代码行数:27,代码来源:AxisTestClient.java

示例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 context’s 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();
    }
}
 
开发者ID:syodage,项目名称:Axis2-Samples,代码行数:25,代码来源:OperationalClient.java

示例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();
}
 
开发者ID:wso2,项目名称:wso2-axis2-transports,代码行数:39,代码来源:TCPEchoRawXMLTest.java

示例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);
    }
 
开发者ID:wso2,项目名称:wso2-axis2,代码行数:33,代码来源:EchoRawSwATest.java

示例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");
}
 
开发者ID:wso2,项目名称:wso2-axis2,代码行数:35,代码来源:MultirefTest.java

示例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");
}
 
开发者ID:wso2,项目名称:wso2-axis2,代码行数:38,代码来源:MultirefTest.java

示例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;
}
 
开发者ID:wso2,项目名称:product-ei,代码行数:73,代码来源:LoadBalanceSessionFullClient.java

示例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;
    }
 
开发者ID:wso2,项目名称:product-ei,代码行数:55,代码来源:MTOMSwAClient.java

示例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;

    }
 
开发者ID:wso2,项目名称:carbon-business-process,代码行数:56,代码来源:ServiceUtils.java

示例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");
}
 
开发者ID:wso2,项目名称:wso2-axis2,代码行数:45,代码来源:MultirefTest.java

示例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);
}
 
开发者ID:wso2,项目名称:wso2-axis2,代码行数:53,代码来源:MultirefTest.java

示例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);
}
 
开发者ID:wso2,项目名称:wso2-axis2,代码行数:53,代码来源:MultirefTest.java

示例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);
}
 
开发者ID:wso2,项目名称:wso2-axis2,代码行数:59,代码来源:MultirefTest.java

示例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);
}
 
开发者ID:wso2,项目名称:wso2-axis2,代码行数:47,代码来源:MultirefTest.java

示例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());
}
 
开发者ID:wso2,项目名称:wso2-axis2,代码行数:56,代码来源:SWAClient.java


注:本文中的org.apache.axis2.client.OperationClient.getMessageContext方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。