我正在使用Apache CXF Web服务堆栈.当客户端在操作完成之前超时或断开与服务器的连接时,服务器将继续运行该操作,直到完成为止.我希望服务器检测客户端何时断开连接并相应地处理它.
有没有办法检测客户端何时使用Apache CXF断开连接?那么使用其他Java Web服务堆栈呢?
我正在开发一个小型应用程序,它将XML发布到一些web服务.这是使用Net :: HTTP :: Post :: Post完成的.但是,服务提供商建议使用重新连接.
类似的事情:第一次请求失败 - > 2秒后再次尝试第二次请求失败 - > 5秒后再次尝试第3次请求失败 - > 10秒后再次尝试...
这样做有什么好办法?只需在循环中运行以下代码,捕获异常并在一段时间后再次运行它?或者还有其他聪明的方法吗?也许Net包甚至有一些我不知道的内置功能?
url = URI.parse("http://some.host")
request = Net::HTTP::Post.new(url.path)
request.body = xml
request.content_type = "text/xml"
#run this line in a loop??
response = Net::HTTP.start(url.host, url.port) {|http| http.request(request)}
Run Code Online (Sandbox Code Playgroud)
非常感谢,永远感谢您的支持.
马特
如何使用SOAP UI测试fileupload.
有一个服务接受文件作为输入我想使用SOAP UI模拟
它它给了我.
内容应该是内联的.

这是场景:
我有JBoss为JBossWS提供Web服务,为我提供了一个wsdl.到目前为止,我已经连接并使用了.NET和Java(一旦我弄清楚它就很容易了).我现在正试图用R做同样的事情.
这有什么东西被认为是"正确的方法"吗?我对R并不熟悉,而且我的搜索量也没有太大,所以我想我会问,也许会让我的头部和墙壁受到一点伤害.
我有一个关于使用基于第三方wsdl文件的Web服务的问题.
我已经采用了给定的wsdl并生成了所需的120多个java文件.这个过程是通过使用xjc完成的.在Sping环境中,我能够通过调用几个公开的服务来成功创建几个JUnit测试.
但是,为了成功测试这些服务,我必须将@XmlRootElement注释添加到生成的java文件中.否则,我会遇到一个错误说明
"com.sun.istack.SAXException2:无法编组类型"com.beam.services.client.UserGetRequestData"作为元素,因为它缺少@XmlRootElement注释"
.
我已经用尽了我的搜索...我无法控制如何创建/结构化wsdl文件.如何生成java文件以确保包含@XmlRootElement注释,或者以编写客户端代码的方式避免上述错误?
谢谢.
我已成功创建Web服务.测试它并获取WSDL文件.将使用此Web Service 的客户端是一个简单的Java类.
我能够创建一个jsp客户端并调用Web Service的方法.但我需要从Java类调用Web服务.
如何将此Java客户端与Web Service 绑定?
我在NetBeans中执行以下步骤来创建Java客户端...
但是我无法调用WebService的方法.这是客户端文件......
package client_package;
public class client {
public static void main(String args[])
{
System.out.println("1");
System.out.println(hello("megha"));
System.out.println("2");
}
private static String hello(String name) {
WS_package.WebService1 service = new WS_package.WebService1(); //package WS_package does not exists
WS_package.WebService1 port = service.getWebService1Port(); //package WS_package does not exists
name = port.hello(name);
return name;
}
}
Run Code Online (Sandbox Code Playgroud) 我正在使用Metro 2客户端来使用"Java中的安全wcf Web服务".但是,在很长一段时间后,Metro客户端没有给出任何响应并保持挂起模式,因为它产生的输出是错误的:
堆栈跟踪:
SEVERE: WSSMSG0001: Error occurred while buffering incoming SOAP message.
com.ctc.wstx.exc.WstxParsingException: Illegal character entity: expansion character (code 0x1a
at [row,col {unknown-source}]: [1,6396222]
at com.ctc.wstx.sr.StreamScanner.constructWfcException(StreamScanner.java:606)
at com.ctc.wstx.sr.StreamScanner.throwParseError(StreamScanner.java:479)
at com.ctc.wstx.sr.StreamScanner.reportIllegalChar(StreamScanner.java:2442)
at com.ctc.wstx.sr.StreamScanner.validateChar(StreamScanner.java:2389)
at com.ctc.wstx.sr.StreamScanner.resolveCharEnt(StreamScanner.java:2355)
at com.ctc.wstx.sr.StreamScanner.fullyResolveEntity(StreamScanner.java:1501)
at com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2726)
at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1065)
at com.sun.xml.ws.util.xml.XMLStreamReaderToXMLStreamWriter.bridge(XMLStreamReaderToXMLStreamWriter.java:142)
at com.sun.xml.ws.message.stream.StreamMessage.writePayloadTo(StreamMessage.java:376)
at com.sun.xml.ws.message.stream.StreamMessage.writeEnvelope(StreamMessage.java:412)
at com.sun.xml.ws.message.stream.StreamMessage.writeTo(StreamMessage.java:390)
at com.sun.xml.ws.security.message.stream.LazyStreamBasedMessage.readMessage(LazyStreamBasedMessage.java:476)
at com.sun.xml.wss.jaxws.impl.SecurityTubeBase.verifyInboundMessage(SecurityTubeBase.java:444)
at com.sun.xml.wss.jaxws.impl.SecurityClientTube.processClientResponsePacket(SecurityClientTube.java:434)
at com.sun.xml.wss.jaxws.impl.SecurityClientTube.processResponse(SecurityClientTube.java:362)
at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:972)
at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:910)
at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:873)
at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:775)
at com.sun.xml.ws.client.Stub.process(Stub.java:429)
at com.sun.xml.ws.client.sei.SEIStub.doProcess(SEIStub.java:168)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:119)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:102)
at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:151)
at …Run Code Online (Sandbox Code Playgroud) java wcf web-services java-metro-framework webservice-client
如果SOAP Web服务通过SoapUI运行良好(产生正确的SOAP响应),那么使用不同的API /框架在Java中构建Web服务客户端来调用此Web服务面临着不同的问题,将此Web服务稳定地考虑是否安全问题来自消费者方面?
我在这里问一个通用的问题,我已经问了一个可能太长,无法阅读的详细问题.我对这个概念的兴趣超过了我的实际实现,所以如果你能回答我的问题而不参考我的长篇文章,请做.
更新:我已经意识到,即使WSDL符合WS-I并且它通过SoapUI正常运行,这仍然不足以得出结论Web服务没有被破坏.正如@jtahlborn所说,SoapUI非常容忍破坏的Web服务,并且很容易让你相信你的Web服务工作正常,这就是我的情况.
我正在ESB中构建SOAP响应,我的问题是我使用了在WSDL中定义但不在模式中定义的命名空间.SoapUI收到了响应并向我显示(使用错误的命名空间); 如果我打开响应验证选项,则可以避免此问题.
还值得一提的是,在我创建的用于测试我的Web服务的Java Web服务客户端中,无法将响应加载到输出对象中(当我尝试访问输出对象时出现NullPointerException错误),这是由于命名空间问题,一旦修复了命名空间,它就开始正常工作了.
您好我已经从wsdl文件在eclipse中创建了一个Web服务客户端.但当我尝试从客户端访问该服务时,它说.没有可用于端点的SSL配置.然后我的端点的地址.请告诉我如何通过密钥库向我的webservice客户端提供ssl配置.我有客户端提供的独立客户端和密钥库.TIA
我使用Spring-WS用于消费web服务这孔潘若SOAP信封有空头元素.我发现默认的SOAPMessage实现添加了一个.
我该如何删除它?
提前致谢