标签: jax-rpc

使用RPC /编码的Web服务的最佳方式是什么?

我需要为后端使用旧式RPC /编码的WSDL Web服务.起初我尝试使用Apache CXF和JAX-WS,但JAX-WS wsimport工具不使用rpc/enoded WSDL.

[错误] JAXWS 2.0不支持rpc/encoded wsdls.

我也对使用JAX-RPC做这项工作有疑问,因为它已经过时了.Axis 1.4是5年的工具.

目前我看到这三个选项:

  1. 使用JAX-WS javax.xml.ws.Dispatch来发送和接收SOAP和某种方式解析它,一个例子
  2. 使用JAX-RPC并获得使用过时技术的恶劣业力,
  3. 手动完成所有操作,以后再讨厌自己.

这些都听起来不太好,所以如果你能提供一些好的线索,想要做什么以及如何解决它,我将不胜感激.

java cxf jax-ws jax-rpc

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

JAX-WS与JAX-RPC

我写了2个webservices,一个使用Jax-WS,另一个使用Jax-RPC.他们只返回一个字符串.

我用jMeter对它进行了压力测试,奇怪的是,因此Jax-RPC的速度要快一些.

在性能方面(响应时间,CPU时间,堆),我何时真正从Jax-WS中获利?我该如何证明呢?

谢谢你的时间!=)

java jax-ws jax-rpc java-ee websphere-7

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

如何在java中编写有效的Web服务

虽然这可能看起来像Java Web Services的副本,但我想知道从哪里开始并继续.过去,我花了很多时间来寻找从哪里开始,但我无法做到.在阅读有关Web服务的页面时,有这么多的术语和混乱(至少对我而言!).有很多术语 - 比如JAX-RPC, JAX-WS, Axis, Rest, Servlet as WebService, EJB'sWeb Service和其他我不知道的术语.此用户组是否可以整合并提供易于理解和遵循的Java Web服务的高级概述?感谢您的善意,感谢您的帮助.

java axis2 web-services jax-ws jax-rpc

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

安装JAX-RPC Web服务插件后无法启动Netbeans 8.0.1

我有Netbeans的问题.我已经从http://deadlock.netbeans.org/hudson/job/nbms-and-javadoc/lastStableBuild/artifact/nbbuild/nbms/updates.xml.gz安装了JAX-RPC Web服务.

但是,在安装插件后重新启动IDE后,Netbeans不会重新启动.

Netbeans的消息日志显示以下文本:

>Log Session: Wednesday, December 3, 2014 10:36:59 AM CST
>System Info: 
  Product Version         = NetBeans IDE 7.4 (Build nbms-and-javadoc-2405-on-20141202) (#6523d6792981)
  Operating System        = Windows 8 version 6.2 running on amd64
  Java; VM; Vendor        = 1.7.0_67; Java HotSpot(TM) 64-Bit Server VM 24.65-b04; Oracle Corporation
  Runtime                 = Java(TM) SE Runtime Environment 1.7.0_67-b01
  Java Home               = C:\Program Files\Java\jdk1.7.0_67\jre
  System Locale; Encoding = es_SV (nb); Cp1252
  Home Directory          = C:\Users\Ghost
  Current Directory       = C:\Program Files\NetBeans 7.4
  User Directory …
Run Code Online (Sandbox Code Playgroud)

java netbeans web-services jax-rpc

12
推荐指数
1
解决办法
4966
查看次数

Axis2的wsdl2java在RPC /编码样式的Web服务上失败

Axis2还有其他选择吗?或者让它工作的方式(例如,不同的数据绑定)?

Retrieving document at '...'.
Exception in thread "main" org.apache.axis2.wsdl.codegen.CodeGenerationException: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
        at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:271)
        at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35)
        at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:24)
Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
        at org.apache.axis2.wsdl.codegen.extension.SimpleDBExtension.engage(SimpleDBExtension.java:53)
        at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:224)
        ... 2 more
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.axis2.wsdl.codegen.extension.SimpleDBExtension.engage(SimpleDBExtension.java:50)
        ... 3 more
Caused by: org.apache.axis2.schema.SchemaCompilationException: can not find type {http://schemas.xmlsoap.org/soap/encoding/}Array from the parent schema ...        at org.apache.axis2.schema.SchemaCompiler.copyMetaInfoHierarchy(SchemaCompiler.java:1296)
        at org.apache.axis2.schema.SchemaCompiler.processComplexContent(SchemaCompiler.java:1258)
        at org.apache.axis2.schema.SchemaCompiler.processContentModel(SchemaCompiler.java:1153)
        at org.apache.axis2.schema.SchemaCompiler.processComplexType(SchemaCompiler.java:1097)
        at org.apache.axis2.schema.SchemaCompiler.processNamedComplexSchemaType(SchemaCompiler.java:1017)
        at org.apache.axis2.schema.SchemaCompiler.processSchema(SchemaCompiler.java:931)
        at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:766)
        at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:552)
        at org.apache.axis2.schema.SchemaCompiler.process(SchemaCompiler.java:1991)
        at org.apache.axis2.schema.SchemaCompiler.processParticle(SchemaCompiler.java:1874)
        at …
Run Code Online (Sandbox Code Playgroud)

java axis axis2 wsdl2java jax-rpc

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

我在哪里可以找到Java 6附带的JAX-WS版本?

我正在使用Java 6来了解有关Web服务(JAX-WS)的更多信息.我还读到JAX-WS最新版本可用于Metro,即如果您不使用JDK6并计划使用JAX-WS,则可以使用Metro.

我想知道我的JDK附带了哪个版本的JAX-WS?我正在使用jdk1.6.0_22.

java web-services jax-ws jax-rpc

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

使用JAXRPC-RI Web服务客户端时如何设置连接超时?

我正在使用一些遗留组件,我们使用一些使用JAXRPC-RI(参考实现)库构建的客户端代码与SOAP Web服务(我绝对,非常厌恶的技术)进行交互.

我有兴趣能够使用存根设置超时,以便万一Web服务器在X秒内没有回复,应用程序不会在那里永远等待响应.

我正在使用Apache Axis生成的客户端/存根,您只需使用它org.apache.axis.client.Stub.setTimeout()来设置超时.

对于我的生活,我无法弄清楚在使用JAXRPC-RI创建的存根时如何设置超时:

  • 我实例化的端口类扩展com.sun.xml.rpc.client.StubBase和实现javax.xml.rpc.Stubcom.sun.xml.rpc.spi.runtime.StubBase.
  • 这些类中的JavaDocs都没有提到任何类型的超时或方法来执行此操作.
  • 尝试代码stub._setProperty("axis.connection.timeout", 1000);会在运行时导致异常:javax.xml.rpc.JAXRPCException: Stub does not recognize property: axis.connection.timeout

有没有人对使用JAXRPC-RI客户端时如何设置/强制执行超时有任何想法?它甚至可能吗?

java soap web-services jax-rpc java-ee

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

Netbeans 6.9.1中的JAX-RPC支持

我正在尝试生成新的Web服务客户端.当选择Client Style to JAX-RPC Style时,我会收到来自Netbeans的通知:"您必须下载JAX-RPC支持插件才能创建JAX-RPC客户端".

插件未在可用插件中列出.我搜索了有关此问题的主题,他们说要添加此地址以搜索可用的插件:

http://deadlock.netbeans.org/hudson/job/nbms-and-javadoc/lastStableBuild/artifact/nbbuild/nbms/updates.xml.gz

问题是,链接已经死了.有没有其他可能解决这个问题或有没有人有工作链接?

plugins netbeans web-services jax-rpc netbeans-6.9

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

使用JAX-RPC客户端从JAX-WS WebService获取附件

当我们从JAX-RPC迁移到JAX-WS时,我正在尝试调用使用JAX-W/JAXB的WebService.客户端本身仍在使用JAX-RPC.WSDL文件保持不变.

这样工作正常,因为没有附件.附件,它不起作用.客户说,没有.虽然可以在SOAP-Message中看到它们.

据我所知,JAX-WS确实使用MTOM将二进制数据放入消息中,而JAX-RPC使用MIME.

有可能以某种方式使这个工作?

以下是JAX-RPC消息的外观:

HTTP/1.1 200 OK
Date: Tue, 21 Dec 2010 15:24:10 GMT
Transfer-Encoding: chunked
Content-Type: multipart/related;boundary="----=_Part_6_5206227.1292945050584";type="text/xml";start="<soapPart>"
SOAPAction: "http://XXX"
X-Powered-By: Servlet/2.5 JSP/2.1

014a
------=_Part_6_5206227.1292945050584
Content-Type: text/xml; charset=utf-8
Content-Transfer-Encoding: 8bit
Content-ID: <soapPart>

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Header/><env:Body><operationWithAttachments href="cid:operationWithAttachments"/></env:Body></env:Envelope>
0522

------=_Part_6_5206227.1292945050584
Content-Type: multipart/mixed; 
    boundary="----=_Part_5_12763436.1292945050570"
Content-ID: <operationWithAttachments>

------=_Part_5_12763436.1292945050570
Content-Type: application/pdf; name=HelloWorld.pdf
Content-Disposition: attachment; filename=HelloWorld.pdf

%PDF-1.4
%öäüß
1 0 obj
<<
/Type /Catalog
/Version /1.4
/Pages 2 0 R
>>
endobj
2 0 obj
<<
...
Run Code Online (Sandbox Code Playgroud)

这里是新的JAX-WS消息:

HTTP/1.1 200 OK
Date: Tue, 21 Dec 2010 …
Run Code Online (Sandbox Code Playgroud)

java attachment jax-ws jax-rpc java-ee

7
推荐指数
1
解决办法
2163
查看次数

将自定义HTTP标头添加到Axis 1.4 Web服务响应中

我正在尝试向Axis 1.4 Web服务器添加自定义HTTP标头.

我创建了一个扩展BasicHandler的处理程序:

public class HttpHeaderHandler extends BasicHandler {

  .
  .
  .

  @Override
  public void invoke(org.apache.axis.MessageContext arg0) throws AxisFault {  
    LOG.trace("invoke called");     
    Hashtable ht = (Hashtable)ctx.getProperty(HTTPConstants.RESPONSE_HEADERS);
    if(ht == null) {
      ht = new Hashtable();
    }
    ht.put("custom-header", "Hello");
    ctx.setProperty(HTTPConstants.RESPONSE_HEADERS, ht);     
  }

  .
  .
  .

}
Run Code Online (Sandbox Code Playgroud)

我已将以下内容添加到server-config.wsdd:

    .
    .
    .

<transport name="http">
    <requestFlow>
        <handler type="URLMapper" />
        <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler" />
    </requestFlow>
    <responseFlow>
        <handler type="java:com.my.package.HttpHeaderHandler" />
    </responseFlow>
</transport>

    .
    .
    .
Run Code Online (Sandbox Code Playgroud)

我可以看到正在调用invoke方法,因为日志文件出现在日志文件中,但自定义标头未添加到响应中.

任何建议赞赏.

java axis web-services jax-rpc

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