当前位置: 首页 > 面试题库 >

Java的进程内SOAP服务服务器

边国安
2023-03-14
问题内容

好的,我正在开发一个程序,该程序将部署到许多机器(Windows,Linux,AIX,z / Linux,openVMS等)上。我希望该应用程序包含SOAP
Web服务,但是我不想捆绑tomcat或为这些服务运行单独的服务(我希望它们与应用程序的其余部分在同一过程中)。

基本上,我正在寻找可以定义类的东西(例如WebServices)。我也可以编写WSDL或任何其他类型的服务描述。我想要这样的东西:

SOAPServer server = makeMeASoapServer();
//do config on the server
server.add(new WebService(...));
server.listen(port);

显然,名称和参数将有所不同。

我一直在看Axis,它似乎提供了此功能,但是我不知道我需要使用哪些类。我为这种行为而疯狂吗?我不敢相信会有更多的人在寻找这个,我一直使用.NET客户端中的嵌入式Web服务来做到这一点。


问题答案:

似乎jdk 6.0已经带有jax-ws实现,并且可以嵌入一个小的服务器。我还没有弄清楚所有的东西,但是这是一个开始:

mkdir -p helloservice/endpoint/

helloservice / endpoint / Hello.java:

package helloservice.endpoint;

import javax.jws.WebService;

@WebService()
public class Hello {
  private String message = new String("Hello, ");

  public void Hello() {}

  public String sayHello(String name) {
    return message + name + ".";
  }
}

helloservice / endpoint / Server.java:

package helloservice.endpoint;
import javax.xml.ws.Endpoint;

public class Server {

    protected Server() throws Exception {
        System.out.println("Starting Server");
        Object implementor = new Hello();
        String address = "http://localhost:9000/SoapContext/SoapPort";
        Endpoint.publish(address, implementor);
    }

    public static void main(String args[]) throws Exception {
        new Server();
        System.out.println("Server ready...");

        Thread.sleep(5 * 60 * 1000);
        System.out.println("Server exiting");
        System.exit(0);
    }
}

建立东西:

mkdir build
javac -d build helloservice/endpoint/*java
$JAVA_HOME/wsgen -d build -s build -classpath .  helloservice.endpoint.Hello

运行东西:

java -cp  build helloservice.endpoint.Server

现在,某些东西正在http:// localhost:9000 / SoapContext /
SoapPort上运行
。您可以在http://
localhost:9000 / SoapContext /
SoapPort?WSDL
上获得wsdl

还没有找到客户的机会。



 类似资料:
  • 问题内容: 我有一个作为常规SOAP Web服务公开的接口。该接口的一种方法包括让客户端将文件发送到服务器,然后服务器处理该文件并返回结果文件。处理文件可能需要一些时间,因此我认为使用异步调用此方法是一个更好的主意。我考虑了以下流程: 客户端调用异步方法,并使用附件(MTOM)发送文件。服务器接收到文件后,会将响应发送回客户端,表明已接收到该文件,并将在不久后对其进行处理。处理完文件后,会将响应发

  • 问题内容: 我是Java新手,我知道Web服务有两种类型 SOAP Web服务。 RESTful Web服务。 谁能告诉我两者的基本区别是什么?在什么情况下创建?在什么情况下创建? 谢谢, 问题答案: 正如第一个答案已经解释的那样,SOAP Webservices和REST Webservices在各个方面有所不同。 肥皂: 您可以在.wsdl文件中定义您的界面,该文件准确描述了预期的输入参数以及

  • 我是Apache Camel的新手,我使用Red Hat Code准备工作室12.16.0.GA.我想调用肥皂网络服务。我用过这个例子https://tomd.xyz/camel-consume-soap-service/ 这是我的camel上下文文件 这是我的输入bean 围绕它有许多问题。首先,我不能将输入参数传入主体。我试着像这样设置身体 但没有得到响应或只是没有记录。我已经尝试使用bean

  • 第 12 章 SOAP Web 服务 12.1. 概览 12.2. 安装 SOAP 库 12.2.1. 安装 PyXML 12.2.2. 安装 fpconst 12.2.3. 安装 SOAPpy 12.3. 步入 SOAP 12.4. SOAP 网络服务查错 12.5. WSDL 介绍 12.6. 以 WSDL 进行 SOAP 内省 12.7. 搜索 Google 12.8. SOAP 网络服务故

  • 问题内容: 以下代码是我的应用中的服务器代码: 代码工作方式,即如果我尝试直接连接,则两端进行通信和更新。 问题是即时通讯正在侦听连接,如果我想退出侦听,则服务器线程会继续运行并导致问题。 我知道我不应该在线程上使用.stop(),所以我想知道解决方案的外观如何? 编辑:注释掉不需要的代码。 问题答案: 从外部线程关闭服务器套接字。根据Serversocket.close()上的文档,阻塞接受将抛