问题标签 [java-metro-framework]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
8127 浏览

web-services - "org.xml.sax.SAXParseException: Premature end of file." while parsing schema

I'm writing a webservice client running on Linux JBoss 5.0.1 / JBossWS Native 3.1.1 which is calling a service running on a Windows Tomcat 6.0.29 / Metro Stack.

The WSDLs and the referenced XSD files are accessible via browser and also the JUnit tests I wrote work just fine. But when the client is running inside JBoss, I get the following stacktrace:

By debugging the JBossWS WSDL implementation I found, that the InputStream which is created from the referenced XSD is null. This normally points me to the assumption, that there is some kind of networking issue (or firewall) between the client and the server. This is all very confusing, as I have the Unit tests running on the same machine, so it can't be because of that.

0 投票
2 回答
15171 浏览

networking - Jax-ws java.net.ConnectException:连接被拒绝

我在使用 JAX-WS(Metro)从运行在 tomcat 上的 java 客户端连接到运行在 glassfish 上的 Web 服务时遇到了一个奇怪的网络问题。这是场景...

  • 两台服务器都在我的本地机器上运行。
  • 如果我将客户端配置为使用 127.0.0.1 连接到 WS 端点,则请求工作正常。
  • 如果我将客户端配置为使用我的 IP 地址连接到 WS 端点,我会立即收到 java.net.ConnectException: Connection denied。如果我使用我的主机名,也会发生同样的事情。

奇怪的是,如果我从 SoapUI 访问端点,如果使用 127.0.0.1、我的 IP 地址或我的主机名,请求就可以正常工作。

这是我得到的例外......

任何想法或指示表示赞赏!

0 投票
1 回答
16095 浏览

java - 使用 Metro 2.1 的 Tomcat 7.0.11 上的 WSServlet ClassNotFoundException 错误

我正在尝试使用 Metro 2.1 在 Windows Server 2008 R2 上使用 Tomcat 7.0.11 创建一个简单的 Web 服务。我来自 C#/WCF 背景,试图更好地理解 Web 服务互操作性。我实际上是在遵循 Martin Kalin 的“Java Web Services Up and Running”一书中的一个例子。我有以下内容:

在 catalina.properties 文件中,我有:

(注意,我也尝试将此路径添加到 common.loader)。

我已将以下 METRO jar 文件复制到 CALALINA_HOME\lib:

webservices-api.jar、webservices-extra.jar、webservices-extra-api.jar、webservices-rt.jar、webservices-tools.jar

并到 CALALINA_HOME\认可:

webservices-api.jar

(注意,我最初尝试使用 metro-on-tomcat.xml ant 文件,但它似乎没有针对 tomcat 7 进行更新。*)

我还将 webservices-api.jar 复制到 JAVA_HOME\jre\lib\endorsed

我也尝试将其他 METRO 罐子放在上述位置,但没有帮助。

现在,Tomcat 启动正常并初始化 METRO ok,这是 catalina 日志文件中的相关部分:

信息:部署 Web 应用程序目录根 2011 年 5 月 18 日 08:00:55 com.sun.xml.ws.transport.http.servlet.WSServletContextListener contextInitialized 信息:WSSERVLET12:JAX-WS 上下文侦听器初始化 2011 年 5 月 18 日 08: 01:07 com.sun.xml.ws.server.MonitorBase createRoot INFO:Metro 监控 rootname 成功设置为:com.sun.metro:pp=/,type=WSEndpoint,name=-TempConvertImplService-TempConvertImplPort 18-May-2011 08 :01:08 com.sun.xml.ws.transport.http.servlet.WSServletDelegate 信息:WSSERVLET14:JAX-WS servlet 初始化

因此,您会认为 Tomcat 已经加载了所有 METRO 类。从我收集到的信息来看,WSServlet 是 JAX-WS 2.1 的一部分,它是作为 METRO 的一部分提供的,所以它应该已经加载了。但是当我真正尝试浏览到我的服务的 WSDL 时,我在 localhost 日志中得到以下信息:

严重:为 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676) 上的 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676) 上的 servlet TempConvertWS java.lang.ClassNotFoundException:com.sun.xml.ws.transport.http.WSServlet 分配异常。 catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521) at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415)....(堆栈跟踪的其余部分)

我的 sun-jaxws.xml 看起来像这样:

我的 web.xml 文件中的相关部分是:

任何人都可以从中看出为什么Tomcat在浏览服务时找不到/加载WSServlet类?

0 投票
1 回答
743 浏览

web-services - 如何在 OSGi + jetty 上运行 Metro Web 服务?

我正在尝试使用 OSGi (Felix) + Metro 让 WebService (wsdl) 在 Jetty 上工作?

我得到了 Servlet 和 JSP 在 OSGi + Jetty 上的工作,但不是使用 Metro 的 WebService。我有一个要测试的示例 OSGi WAR 文件,我将其部署在 Glashfish 上并且它可以工作。我需要在 Jetty 上部署相同的内容。

请分享一些关于此的示例或说明。

谢谢

维韦克

0 投票
1 回答
96 浏览

web-services - 我们可以在 IIS 上运行 Metro Web 服务吗?

我们能否在 IIS 服务器上运行使用 METRO Web 服务堆栈创建的 Web 服务,而不是 Glassfish 或 tomcat?

0 投票
1 回答
490 浏览

java - 如何使用 CXF 而不是 Metro?

如何在 Maven 项目中使用 Apache CXF 而不是 Metro(它是 JDK 6)?我需要使用哪些依赖项以及要在哪个文件中创建META-INF/services?我在 CXF 网站上找不到此信息...

附言。它是 JAX-WS 客户端,而不是服务器。只有客户端。

0 投票
0 回答
361 浏览

java - 如何在 Metro 中生成强类型模式

我有一个 XSD 描述了一些遗留系统中的服务(我们称之为 A24)。我们使用 JAXB 将此 XSD 转换为 Java POJO,然后生成带@WebService注释的 Web 服务类(这是使用模板动态完成的)。我们使用 Metro 创建一个 WAR 文件并部署 Web 服务。因此,Web 服务是使用自下而上的方法创建的(首先编写实现)。

Metro 使用内部 JAXB 自动为 Web 服务创建 WSDL 和 XSD。但是 Metro 生成的 WSDL 和模式缺乏字符串长度等限制。但我的要求是创建一个可以支持强数据类型验证的 Web 服务。我怎样才能做到这一点?

一个明显的解决方案是改变方法,先编写 WSDL,然后是实现,但是有没有办法先编写实现,然后仍然生成包含验证规则的 WSDL + XSD?

0 投票
1 回答
463 浏览

xml - 我可以将 JAXB2 Basics 插件与来自 EclipseLink 的 MOXy JAXB 实现一起使用吗?如果没有,有替代品吗?

最终,我希望 JAXB 生成 hashCode 和 equals 实现。JAXB2 Basics 插件可以做到这一点,它适用于 JDK 中的 Metro JAXB 实现,但在 MOXy 中失败。

我得到:

java.lang.IllegalArgumentException 在 org.eclipse.persistence.jaxb.JAXBBinder.updateXML(JAXBBinder.java:131) 在 org.eclipse.persistence.jaxb.JAXBBinder.updateXML(JAXBBinder.java:126)

MOXy 对我来说很好,否则,如果我摆脱了 equals 和 hashCode 生成代码,一切都很好。

0 投票
2 回答
2394 浏览

jboss - 使用带有 JBoss 的 Metro Web 服务堆栈的问题

我将 Metro 2.1 与 JBoss 4.2.2 一起使用。

应用程序部署没有错误,但是当我尝试访问 WebService 时,出现以下错误:

问题是 Jboss 试图加载ProviderImpl它自己的 web 服务实现,而不是使用ProviderImplMetro 实现。

META-INF/services/javaw.xml.ws.spi.Provider我已经配置:com.sun.xml.ws.spi.ProviderImpl.

为什么 Jboss 不使用 Metro 堆栈?

英戈

完整的堆栈跟踪:

0 投票
1 回答
5190 浏览

java-metro-framework - Java Web 服务安全性

我使用 JAX-WS 实现 Java WebService,现在需要在请求者调用 webService 时使用用户名和密码保护我的 web 服务,我需要在 SOAP 的标头上发送用户名和密码的解决方案,并且 web 服务得到这个并验证用户。你有什么想法以标准方式实施吗?


现在我可以用soap头发送用户名和密码,但是我需要加密SOAP头和内容的解决方案,你有这个工作的标准方法吗?