在java程序中访问WSO2 ESB代理

在java程序中访问WSO2 ESB代理,wso2,wso2esb,Wso2,Wso2esb,我已经在WSO2 esb中为外部wsdl配置了一个wsdl代理。它已成功创建代理。创建代理时,我没有选中“发布相同的服务合同”复选框。如果我们正在使用外部web服务,是否必须检查?当我单击try-it时,它并没有显示wsdl中可用的操作 如果上述所有问题都得到解决,我们需要从java项目访问代理。我们如何在java程序中访问WSO2 ESB代理 提前谢谢 谢谢, Raghu是,如果要发布相同的WSDL,则需要选中“发布相同的服务契约” 在java代码中,您可以编写一个简单的axis2客户端,如下

我已经在WSO2 esb中为外部wsdl配置了一个wsdl代理。它已成功创建代理。创建代理时,我没有选中“发布相同的服务合同”复选框。如果我们正在使用外部web服务,是否必须检查?当我单击try-it时,它并没有显示wsdl中可用的操作

如果上述所有问题都得到解决,我们需要从java项目访问代理。我们如何在java程序中访问WSO2 ESB代理

提前谢谢

谢谢,
Raghu

是,如果要发布相同的WSDL,则需要选中“发布相同的服务契约”

在java代码中,您可以编写一个简单的axis2客户端,如下所示。到你的代理人处

   public OMElement sendReceive(OMElement payload, String endPointReference, String operation)
            throws AxisFault {
        ServiceClient sender;
        Options options;
        OMElement response = null;

        try {
            sender = new ServiceClient();
            options = new Options();
            options.setTo(new EndpointReference(endPointReference));
            options.setProperty(org.apache.axis2.transport.http.HTTPConstants.CHUNKED, Boolean.FALSE);
            options.setTimeOutInMilliSeconds(45000);
            options.setAction("urn:" + operation);
            sender.setOptions(options);

            response = sender.sendReceive(payload);

        } catch (AxisFault axisFault) {
            throw new AxisFault("AxisFault while getting response :" + axisFault.getMessage(), axisFault);
        }
        Assert.assertNotNull(response);
        return response;
    }
通过绑定soapui这样的工具,可以获得示例负载

谢谢,, 达尔萨纳。

试着这样做:

    CentralUuidService service = new CentralUuidService(new URL("http://wls02.tigeritbd.com:8280/services/CentralUuidService?wsdl"),new QName("http://bean.service.uuid.gov.bd/", "CentralUuidService"));

    GetBirthPlaceServiceResponse response = service.getCentralUuidServiceHttpSoap11Endpoint().getBirthPlace(request);        
    if(response != null) {
        System.out.println("Operation status is:"+response.isOperationStatus());
    }
}

感谢达尔萨纳的快速回复。