gpt4 book ai didi

java - Web 服务异常 - 没有 "?wsdl"的链接,HTTP GET PATH_INFO

转载 作者:行者123 更新时间:2023-11-30 03:51:09 27 4
gpt4 key购买 nike

我有简单的网络服务:

我也有同样的问题。当我不附加“?wsdl”时,我有肥皂故障。我怎样才能避免这个异常?

@WebService
@SOAPBinding(style = Style.RPC)
public interface TimeServer {
@WebMethod
@WebResult(partName = "time_response")
String getTimeAsString();

@WebMethod
@WebResult(partName = "time_response")
long getTimeAsElapsed();

}

并实现:

@WebService(endpointInterface = "x.y.z.TimeServer")
public class TimeServiceImpl implements TimeServer {


public TimeServiceImpl() {}

@Override
public String getTimeAsString() {return new Date().toString();}

@Override
public long getTimeAsElapsed() {return new Date().getTime();}

}

我在 Jboss As 7.0.1 中运行此 Web 服务。一切顺利!

当我打开链接localhost:8080/project/time?wsdl一切正常 - 我有 wsdl。

但是当我不附加“?wsdl”时,我有异常(exception)。

14:26:58,192 WARNING [org.apache.cxf.phase.PhaseInterceptorChain] (http-localhost-127.0.0.1-8080-1) Interceptor for {http://x.z.y/}HelloWorld has thrown exception, unwinding now: org.apache.cxf.interceptor.Fault: No such operation: null (HTTP GET PATH_INFO: /project/timenull)
at org.apache.cxf.interceptor.URIMappingInterceptor.handleMessage(URIMappingInterceptor.java:88)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)

我收到了来自服务器的响应:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>
No such operation: null (HTTP GET PATH_INFO: /soap-service/timenull)
</faultstring>
</soap:Fault>
</soap:Body>
</soap:Envelope>

如何避免此异常?

如果客户端看到另一条消息而不是这个错误响应,会更好吗?当客户端打开没有“?wsdl”的链接时,如何发送另一个 XML?

谢谢

最佳答案

Web 服务不支持 HTTP GET。如果您输入服务 url,它会直接进行 HTTP GET。这就是它响应错误 No such operation

的原因

相反,您需要进行 SOAP POST 才能从 Web 服务获取响应。为此编写一个 Web 服务客户端。您可以引用 this link 用于创建 Web 服务客户端

关于java - Web 服务异常 - 没有 "?wsdl"的链接,HTTP GET PATH_INFO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24428369/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com