标签: jax-rpc

Apache Tomcat中的JAX-RPC/JAX-WS运行时

我正在使用Apache Tomcat v6服务器.在创建新的Web Service时,我获得了"Apache Axis","Apache Axis2"和"Apache CXF2.x"的Web服务运行时选项.

是否可以将运行时设置为"JAX-RPC"或"Jax-WS"?

编辑:

我正在使用Eclipse IDE

java axis web-services jax-ws jax-rpc

7
推荐指数
2
解决办法
6001
查看次数

SoapUI端点随机错误

我不了解SoapUI和他的mockservice的行为.我正在使用SoapUI(testcase)的客户端和使用JAX-RPC的Java EE应用程序.

我的问题是:

当我试图从我的Java客户端或SoapUI的测试用例中调用任何web服务时,模拟服务在第一次调用时返回一条井消息,并在第二次调用时返回错误,同时使用相同的调用.但是如果我在等,它有效......

所以,我在SOAPui中启用了选项:" 在每个SOAP请求之后关闭HTTP连接 "并且它始终有效...

所以我的问题是:

" 这是模拟服务的正常行为,以及如何使用我的Java客户端实现它? "

谢谢你们.

 <soapenv:Fault>
         <faultcode>Server</faultcode>
         <faultstring>Missing operation for soapAction [] and body element [null] with SOAP Version [SOAP 1.1]</faultstring>
      </soapenv:Fault>
Run Code Online (Sandbox Code Playgroud)

soap soapui jax-rpc

6
推荐指数
1
解决办法
9573
查看次数

Java Web服务,xsd而不是dateTime

在使用JAX-RPC 1.1的Java EE 1.4中,我如何公开Web服务,因此wsdl有一个复杂的类型(person),其中person的一个属性是一个日期,它在WSDL/XSD中显示为只有一个日期(例如,生日)而不是WSDL/XSD中的dateTime(不需要时间)?

我想在wsdl中引用的xsd

<xs:element name="birthdate" type="xs:date"/>
Run Code Online (Sandbox Code Playgroud)

代替

<xs:element name="birthdate" type="xs:dateTime"/>
Run Code Online (Sandbox Code Playgroud)

java.util.Calendar和java.util.Date似乎都导致xsd数据类型在wsdl/xsd中呈现时为dateTime.

我知道java EE 1.4没有像java EE 5这样的注释,但有没有办法告诉Web服务使用xs:date数据类型?

java xsd wsdl web-services jax-rpc

5
推荐指数
1
解决办法
9092
查看次数

如何更改JAX-WS Web服务的地址位置

我们目前使用以下URL公开了JAX-RPC Web服务

HTTP://xx.xx.xx.xx/myservice/MYGatewaySoapHttpPort WSDL

我们通过从上面的WSDL生成WebService,将webservice迁移到JAX-WS

但是可以从以下URL访问新的Web服务

HTTP://xx.xx.xx.xx/myservice/MYGateway WSDL

我如何能够通过首先提到的相同URL访问我的JAX-WS Web服务?这样我们的客户就没有任何问题.

更新:

我创建的WSDL的服务元素是按照期望的

<WL5G3N0:service name="MyGateway">
    <WL5G3N0:port binding="WL5G3N2:MyGatewaySoapHttp" name="MyGatewaySoapHttpPort">
      <WL5G3N3:address location="http://xx.xx.xx/myservice/MyGatewaySoapHttpPort"/>
    </WL5G3N0:port>
  </WL5G3N0:service>
Run Code Online (Sandbox Code Playgroud)

但是JAX-WS的WSDL不同,并且这个WSDL是自动生成的.

<WL5G3N0:service name="MyGateway">
- <WL5G3N0:port binding="WL5G3N2:MyGatewaySoapHttp" name="MyGatewaySoapHttpPort">
  <WL5G3N3:address location="http://xx.xx.xx/myservice/MyGateway" /> 
  </WL5G3N0:port>
 </WL5G3N0:service
Run Code Online (Sandbox Code Playgroud)

我使用Oracle Eclipse Indigo创建了webservice.

我能改变任何注释吗?

问候,

java web-services jax-ws jax-rpc

5
推荐指数
2
解决办法
2万
查看次数

配置 WSDD 以匹配 AXIS 中的 WSDL

我有 WSDL(我从外部供应商那里得到的)。有这样几行:

  <xsd:complexType name="SalesRequest">
                <xsd:all>
                    <xsd:element name="merchantid" type="xsd:int"/>
                    <xsd:element name="password" type="xsd:string"/>
                    ...
                </xsd:all>
  </xsd:complexType>

  ... 
  <message name="SalesResponse">
        <part name="request" type="tns:SalesResponse"/>
  </message>
  ..
  <portType name="InterfacePortType">
    <operation name="Sales">
        <documentation>some text</documentation>
        <input message="tns:SalesRequest"/>
        <output message="tns:SalesResponse"/>
  </operation>
Run Code Online (Sandbox Code Playgroud)

我已经基于这个 WSDL(使用 JAX-RPC)生成了 Java 类。

然后我创建了 Axis 服务(MyService 实现了 InterfacePortType)。

我准备了 XSDD 文件,将 MyService 部署到 Web 应用程序。

所以,然后我调用我的 MySerive 方法之一并在服务器端响应序列化的那一刻得到这个错误:

意外元素名称:预期 = 请求,实际 = SalesReturn

这意味着我的 XSDL 和 XSDD 并没有太多其他的东西。MyService 准备了这样的响应(但计数不通过网络发送):

<?xml version="1.0" encoding="utf-8"?><soapenv:Envelope 
...
<SalesReturn href="#id0"/></ns1:SalesResponse><multiRef xmlns:ns2=
...
</soapenv:Envelope>
Run Code Online (Sandbox Code Playgroud)

问题是:我应该如何处理 WSDD 以便在来自服务的响应 XML 中使用“请求”而不是 …

java axis soap web-services jax-rpc

5
推荐指数
1
解决办法
7240
查看次数

Java 12 上的 Apache Axis 1.4

我目前正在尝试从 Java 8 项目迁移到 Java 12。(希望如此)最后一个障碍是我们被迫使用的旧 WebService。在 Java 8 中“按原样”使用 WebService 本身不是问题,它已经工作了很多年。

wsdl 指出:

<!--由Apache Axis 创建的WSDL 版本:1.4

建立于 2006 年 4 月 22 日 -->

据我所知,新版本的 WSDL2JAVA 不再支持这种类型的服务(因为它们依赖于 Axis 2):

WSDLToJava 错误:CXF 不支持 Rpc/编码的 wsdls

为了使此服务可用(使用 Java 812),我需要以下库:

<!-- https://mvnrepository.com/artifact/javax.xml.rpc/javax.xml.rpc-api -->
<dependency>
    <groupId>javax.xml.rpc</groupId>
    <artifactId>javax.xml.rpc-api</artifactId>
    <version>1.1.2</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

这就是问题发生的地方。该库定义了部分包javax.xml,由于它是 Java 系统路径,因此不再允许使用。任何建议或解决方法?我忽略了什么吗?

编辑: ZhekaKozlov 关于不得不切换到雅加达是正确的。现在还剩下一个错误,因为Axis2,项目中也是需要的。

<!-- https://mvnrepository.com/artifact/org.apache.axis2/axis2-kernel -->
<dependency>
    <groupId>org.apache.axis2</groupId>
    <artifactId>axis2-kernel</artifactId>
    <version>1.7.9</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

将它添加到一个新的 Java 12 项目会使org.w3c.dom.*(例如 Document)无法使用。

EDIT2:我终于让一切正常。程序正在运行,代码中没有错误。不幸的是,我无法测试应用程序的 Axis 部分,因为它所连接的服务只能在我们客户端的环境中使用,因此必须对其进行测试。在axis2和axis2-adb上,我不得不排除两个库:

<exclusions>
    <exclusion>
        <groupId>org.apache.geronimo.specs</groupId> …
Run Code Online (Sandbox Code Playgroud)

java axis jax-rpc javax.xml java-12

5
推荐指数
1
解决办法
1769
查看次数

为JAX-RPC Web服务生成JAX-WS客户端存根?

我是否可以使用JAX-WS(wsimport)生成的客户端存根连接到JAX-RPC Web服务?使用JAX-WS客户端使用JAX-RPC Web服务有什么影响?有什么优点和缺点吗?

java wsdl web-services jax-ws jax-rpc

4
推荐指数
1
解决办法
2万
查看次数

Apache CXF将支持基于JAX-RPC的Web服务(SOAP)

我想知道Apache CXF是否支持基于JAX-RPC的Web服务.目前我已经开发了基于JAX-WAS的一个.

谢谢.

java web-services cxf jax-rpc

4
推荐指数
1
解决办法
4992
查看次数

Spring Integration : 使用 Spring Integration 的多应用程序集成

我对 Spring Integration 有一些疑问:

  1. 我们可以使用 Spring Integration 框架集成两个以上的应用程序吗?

  2. 是点对点集成还是面向中间件的集成?

  3. 在客户端 - 服务器架构中如果(客户端和服务器)都是基于 Java 的应用程序,那么我们应该使用什么进行同步通信?意味着,我们应该选择 Spring Integration 还是 JAX-RPC?对于同步通信,哪一个会更快?

java client-server jax-rpc spring-integration jakarta-ee

3
推荐指数
1
解决办法
1965
查看次数

JAX-RPC GenericHandler在Websphere Application Server v6.0.2.35上失败

我创建了一个名为SOAPHeaderHandler的GenericHandler扩展.我将log4j语句放在处理程序中,可以看到正在构建的构造函数.但是,当我生成SOAP消息时,我没有看到与handleRequest方法相关的消息.我在存根中注册了Handler,如下所示:

if (service == null) {
    super.service = new com.ibm.ws.webservices.engine.client.Service();
}
else {
    super.service = service;
}
List handlerInfoList = new ArrayList();
QName[] headersArr = null;
HandlerInfo handlerInfo = new HandlerInfo(com.xxxxxx.hdhp.business.debitcard.cardservices.CardServiceSOAPHeaderHandler.class, 
     null, headersArr);
handlerInfoList.add(handlerInfo);
service.getHandlerRegistry().setHandlerChain(new QName("MetavanteDebitCard"), handlerInfoList);
Run Code Online (Sandbox Code Playgroud)

处理程序是:

public class AccountManagementSOAPHeaderHandler extends GenericHandler {
 private static Logger logger = Logger.getLogger  (AccountManagementSOAPHeaderHandler.class);
 private HandlerInfo handlerInfo = null;

public AccountManagementSOAPHeaderHandler () {
 logger.info("Constructing AccountManagementSOAPHeaderHandler");
}

 /* (non-Javadoc)
  * @see javax.xml.rpc.handler.GenericHandler#getHeaders()
  */
 public QName[] getHeaders() {
 logger.info("calling getHeaders()");
  return null;
 }

 public boolean …
Run Code Online (Sandbox Code Playgroud)

web-services jax-rpc handler

2
推荐指数
1
解决办法
4017
查看次数