首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在没有http或servlet的情况下从服务器调用JAX WS WS服务

在没有http或servlet的情况下从服务器调用JAX WS WS服务
EN

Stack Overflow用户
提问于 2011-04-08 16:16:59
回答 2查看 2.8K关注 0票数 3

我已经创建了一个基于SOAP的JAX-WS服务器(使用wsgen创建的类和WSDL )。我已经用Endpoint.publish()创建了一个独立的服务器,并用java、perl和.NET客户端成功地连接到它,从而成功地测试了这一点。现在我想把它部署在一个非servlet的web框架(Play Framework)上。

不幸的是,即使在网络上到处寻找文档和代码,我也不知道如何从服务器内部调用http之外的webservice。在播放端,框架将http POST请求路由到静态java方法。访问soap包很容易,但是我不知道如何将它传递给JAX WS进行调用。

简而言之,这就是我想要做的

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class Application extends Controller 
{
    // function referenced by routing table
    public static void func1() {
        // TODO: use play to get SOAP request from caller
        String soapRequest = playFrameworkCode();

        Object implementor = MyJaxWsWebService();

        // !!! insert JAX WS code here !!!
        Object magicJaxWsObject;
        String soapResult = magicJaxWsObject.invoke(soapRequest);

        // TODO: use Play to return SOAP result to caller
    }
}
EN

回答 2

Stack Overflow用户

发布于 2011-04-14 04:47:06

我不禁要问--为什么你要把肥皂和游戏混在一起?游戏背后的全部原理!就是要有一个完全RESTful的、无状态的、无共享的架构。您能详细说明您的特定用例,以保证这样的设计吗?

票数 1
EN

Stack Overflow用户

发布于 2014-07-21 11:36:12

您可以通过wsimport工具生成Java Web service客户端,以解析已发布的wsdl文件,并生成必要的客户端文件(存根)来访问已发布的web服务。由于wsimport工具与JDK捆绑在一起,您可以在“JDK_PATH/bin”文件夹中找到它,因此您不需要在项目中导入任何库。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wsimport -keep http://domain-name/ws/ws-name?wsdl

使用@WebServiceClient进行注释的类(例如,在我的例子中是Pgw_Service )是您的web服务客户端类,您可以使用它来调用您的web服务:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    Pgw_Service service = new Pgw_Service();
    System.out.println(service.getPgwPort().test("saeed"));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5597935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文