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

Java:使用端点将Web服务发布到tomcat服务器

孔安阳
2023-03-14
问题内容

我正在创建一个简单的SOAP Web服务。我要确保它在tomcat Web服务上运行。

我试图用JAX-WS来实现这一点(参见代码)

我的问题是:Endpoint.publish是否使用tomcat服务器来托管该服务器,或者它是小型的glassfish服务器?

我应该扩展UnicastRemoveObject还是类似的东西?

理想情况下,它可以打包成.WAR文件并放在目录中即可正常工作。

它似乎不适用于我安装的tomcat服务器,因为它说该端口已在使用中。我正在使用安装了tomcat6软件包的Ubuntu
karmic,也可能是我的用户无权在8080上发布到正在运行的tomcat

我希望这个问题足够清楚

样例代码:

@WebService
public class UserAttributes {
    public static void main(String[] args) {
        UserAttributes instance = new UserAttributes();
        Endpoint.publish("http://localhost:8082/WebServices/userattributes", 
            instance);
    }

    public string Hello() {
       return "Hello World";
    }
}

问题答案:

是否Endpoint.publish使用tomcat服务器托管此服务器,或者它是小型的glassfish服务器?

JAX-WS RI
Endpoint.publish默认API采用了重量轻,HTTP服务器实现包含在Sun的Java
SE 6,所以,不,它并 没有 使用嵌入式GlassFish的,也不是一个嵌入式的Tomcat,甚至更少现有的Tomcat安装:它使用的是
嵌入式 容器,即在同一个JVM中运行的东西。仅供参考,只要其他实现提供 服务提供商实现 (SPI),就可以插入它们。例如,Jetty
6这样做了,请参见J2se6HttpServerSPI。但是我不会在这里介绍所有细节:)

它似乎不适用于我安装的tomcat服务器,因为它说该端口已在使用中。

如上所述,该Enpoint.publishAPI不使用您现有的Tomcat安装。它使用自己的服务器,并允许您部署Web服务,而不必打包和部署应用程序。它在开发过程中特别有用(因为它可以加快速度)。实际上,这非常方便。

现在,如果您有一个运行在端口8082上的Tomcat服务器,并且尝试Endpoint使用相同的端口进行发布,那么您将无法正常工作。在开发过程中使用其他(未使用的)端口。

而且,如果要将Web服务部署到现有的Tomcat安装中,则必须将它们打包打包并在Tomcat上部署。但这是完全不同的,与使用Endpoint.publishAPI
没有任何关系。



 类似资料:
  • 问题内容: 我正在尝试将JSON对象发布到asp.net Web服务。 我的json看起来像这样: 我正在使用json2.js对我的json对象进行stringyfy。 我正在使用jQuery将其发布到我的Web服务。 我收到以下错误: “无效的JSON原语: 我发现了一堆与此相关的帖子,这似乎是一个非常普遍的问题,但我没有尝试解决此问题。 当萤火虫被发布到服务器时,它看起来像这样: marker

  • 问题内容: 我的问题是我取回了一些数据,但似乎无法显示它。 问题答案: 应该是您收到的内容的类型,但应该是您要发送的内容的哑剧类型,以下应该可以:

  • 问题内容: 我必须将以下数据发送到URl的Web服务 要发送的数据格式为: 其中,和是键,并具有通过edittext字符串获取的相应值字符串。我在单击按钮时发布此数据。 我没有收到任何回应,因为我试图与我的合作开发者在他的iPhone相同的应用程序iPhone版本中与我的合作开发者进行反检查,因为服务器说用户名和密码无效。 我的课是: 请协助我,我是JSON和Android.Thanx解析的新手。

  • 我们有一个带有gradle build配置的java web应用程序,它包含以下两个模块: > project web。war——包含所有statc文件、js、jsp等。此外,它还包含所有项目、带有rest控制器层的spring配置。 project-main.jar包含了所有的业务 目前,我们正在ApacheTomcat中部署这两个模块。我们的项目正在经历一些架构上的变化 我是Apache ht

  • 我被夹在中间。我想实现一个POST方法,使用HttpUrlConnection向服务器发送注册用户的电子邮件、名称和密码。以下是我的代码: 我不知道我在哪里犯了错误。我收到以下回复 空格后的“0”是超文本传输协议响应代码返回的响应代码。当我在浏览器中尝试时,我的网址是正确的。我不知道我在哪里犯了错误;是我的服务器故障还是我的代码有错误,因为我不认为我的代码有任何交互处理。 我是Android开发的

  • hprose 为发布服务提供了多个方法,这些方法可以随意组合,通过这种组合,你所发布的服务将不会局限于某一个函数,某一个方法,某一个对象,而是可以将不同的函数和方法随意重新组合成一个服务。 AddFunction 方法 AddFunction(name string, function interface{}, option ...Options) Service 该方法的用于发布一个函数(命名函