Web 服务具有“无此类操作:HTTP GET PATH_INFO”

2024-01-24

我目前有一个 SOAP Web 服务,我正在尝试访问它的端点,但我不断收到此错误:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <soap:Fault>
      <faultcode>soap:Server</faultcode>
        <faultstring>
 No such operation: (HTTP GET PATH_INFO: /camel-example-reportincident/webservices/incident)
        </faultstring>
       </soap:Fault>
    </soap:Body>
 </soap:Envelope>

单元测试

package org.apache.camel.example.reportincident;

import junit.framework.TestCase;

import org.apache.camel.CamelContext;
import org.apache.camel.impl.DefaultCamelContext;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import org.jvnet.mock_javamail.Mailbox;

/**
 * Unit test of our routes
 */
public class ReportIncidentRoutesTest extends TestCase {

private CamelContext camel;

// should be the same address as we have in our route
private static String ADDRESS = "cxf://http://localhost:8080/camel-example-reportincident/webservices/incident"
            + "?serviceClass=org.apache.camel.example.reportincident.ReportIncidentEndpoint"
            + "&wsdlURL=report_incident.wsdl";

protected void startCamel() throws Exception {
    camel = new DefaultCamelContext();
    camel.addRoutes(new ReportIncidentRoutes());
    camel.start();
}

protected static ReportIncidentEndpoint createCXFClient() {
    // we use CXF to create a client for us as its easier than JAXWS and works
    JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
    factory.setServiceClass(ReportIncidentEndpoint.class);
    factory.setAddress(ADDRESS);
    return (ReportIncidentEndpoint) factory.create();
}

public void testRendportIncident() throws Exception {
    // start camel
    startCamel();

    // assert mailbox is empty before starting
    Mailbox inbox = Mailbox.get("[email protected] /cdn-cgi/l/email-protection");
    assertEquals("Should not have mails", 0, inbox.size());

    // create input parameter
    InputReportIncident input = new InputReportIncident();
    input.setIncidentId("123");
    input.setIncidentDate("2008-08-18");
    input.setGivenName("Claus");
    input.setFamilyName("Ibsen");
    input.setSummary("Bla");
    input.setDetails("Bla bla");
    input.setEmail("[email protected] /cdn-cgi/l/email-protection");
    input.setPhone("0045 2962 7576");

    // create the webservice client and send the request
    ReportIncidentEndpoint client = createCXFClient();
    OutputReportIncident out = client.reportIncident(input);

    // assert we got a OK back
    assertEquals("0", out.getCode());

    // let some time pass to allow Camel to pickup the file and send it as an email
    Thread.sleep(3000);
    // assert mail box
    assertEquals("Should have got 1 mail", 1, inbox.size());

    // stop camel
    camel.stop();
}

}

我正在尝试将 CFX 端点与我的骆驼路由一起使用,当我将端点地址放入路由中然后对其进行单元测试时,我收到“无法找到端点://path/to/endpoint”。

我假设问题在于当我尝试访问端点 url 时出现错误,但我什至不知道从哪里开始解决它。

当我在 SOAP UI 上访问 Web 服务时,它也运行良好。任何帮助将不胜感激,我可以提供所需的任何信息。


通常,SOAP 服务使用 POST 操作通过 HTTP 公开。您似乎正在尝试使用 GET 操作访问该服务。

我不确定您如何尝试在单元测试中调用该服务,但您需要确保它是 HTTP/POST 调用。如果您使用纯 HTTP,则可以在调用 HTTP 组件之前设置标头。

 .setHeader(Exchange.HTTP_METHOD, constant("POST"))

显示您的单元测试以获得更详细的输入。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Web 服务具有“无此类操作:HTTP GET PATH_INFO” 的相关文章

  • 将 C# 中的 asmx web 服务的 Soap 请求标头从 text/xml 更改为soap/xml

    我需要调用网络服务 我生成了一个代理并调用了该方法 但它一直失败 因为 API 期望标头中包含soap xml 而 Visual Studio 中生成的代理客户端则在标头中发送文本 xml 问题 是否可以更改生成的代理客户端的 Conten
  • 肥皂服务的良好框架是什么?

    我正在寻找一个用于肥皂的好框架service 我更喜欢使用Pythonic框架 但是在查看了soaplib rpclib 太不稳定 SOAPy 不适用于2 7 和ZSI 太 令人困惑 之后 我不确定这是否可能 我对使用另一种语言感到满意 尽
  • 用于查找附近兴趣点的网络服务?

    我正在寻找一种付费或免费服务 可以返回按类别 例如 餐厅 过滤的给定距离 例如 10 公里 内的兴趣点 Factual http www factual com 看起来很有前途 但不支持我的国家 南非 Google Places API 仍
  • Apache Camel - 路由中的事务

    我有一个关于 Apache Camel 的一般性问题 我无法找到聚合器是否已进行交易 如果是交易 交易是如何实现的 聚合的速度有多快 将消息发送到聚合器可以在事务中运行 您需要一个带有聚合器的持久存储来让传出消息充当事务 请参阅有关持久性的
  • CXF 增加连接池大小而不更改 http.maxConnections

    最近我被要求将 CXF 配置为与我们旧的 XFire 服务相同的参数 这些参数之一是Keep Alive timeout 60 max 20 然而 我做了一些研究 看来 CXF 使用 JVMHttpURLConnection引擎盖下的对象
  • 如何在 React Native 中调用 SOAP Web 服务

    我是反应原生开发的新手 在我的应用程序中 我需要调用肥皂网络服务 在 android 中 我使用 ksoap 库来提供肥皂网络服务 但是在 React Native 中是否有可用的库或示例代码 我为此进行了很多搜索 但没有找到任何关于此的好
  • 从纬度经度查找时区[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有任何库 或者更好的网络服务 可以将纬度 经度转换为时区 对于我正在从事的一个项目 我相当深入地研究
  • 如何从内容处置中读取编码的文件名

    我得到的内容处置标头值如下 附件 文件名 UTF 8 album jpeg 如何从中提取文件名 album jpeg 在查看该值时 它具有编码格式值 使用Spring的内容配置 https docs spring io spring doc
  • Axis2 客户端抛出 AxisFault:必须了解标头安全性检查失败

    我正在使用 Axis2 1 6 1 并且能够成功发送 SOAP 请求 这是请求的示例
  • suds.TypeNotFound:找不到类型:'(,http://www.w3.org/2001/XMLSchema,)'

    我正在使用网络服务 但以下错误阻止我使其正常工作 Traceback most recent call last File C Users Marnik Documents GitHub prjct CompareSiteCrawler s
  • AxisFault:请求中缺少 wsse:安全标头

    我正在尝试使用 WSO2 应用程序服务器和身份服务器构建应用程序 基于 Axis2 Framework 的肥皂服务器需要具有基于 WS Trust 的身份验证 为了学习 我正在关注这个博客http www vitharana org 201
  • 使用 Elmah 进行异常处理

    我用 Elmah 记录异常 想知道我使用的技术是否是好的设计 现在 我捕获并重新抛出各种类和方法中发生的异常 并将它们记录到程序的主 try catch 块中的 Elmah 主程序 try Some code that fires off
  • WCF 未在 IIS 6.0 下运行

    尝试让我的 WCF 服务在 IIS 6 下运行 我已经创建了 svc and aspnet isapi dll映射根据 http msdn microsoft com en us library ms752241 aspx http msd
  • 如何处理用户界面中的数据库约束违规?

    我们使用存储过程在数据库中实现大部分业务规则 我永远无法决定如何最好地将数据约束违规错误从数据库传递回用户界面 我所说的约束更多地与业务规则相关 而不是与数据完整性相关 例如 诸如 无法插入重复的键行 之类的数据库错误与业务规则 不能有多个
  • 如何让WebClient(Web服务客户端)自动使用默认代理服务器?

    我正在从 WinForms 应用程序调用 Web 服务 当不使用代理服务器时 一切工作正常 但是当使用代理时 应用程序会崩溃 因为它收到的不是它期望的 SOAP 请求的 XML 响应 而是一个 HTML 错误页面 显示 需要身份验证 看来你
  • REST Web 服务 WSDL? [复制]

    这个问题在这里已经有答案了 我正在实现一个 Web 服务 并且已经实现了 REST 和 SOAP 版本 看看哪个版本适合我的需求 我决定选择 REST 因为它很简单 而且我可能会开发一个 iPhone 应用程序来使用它 我的问题很简单 是否
  • 在 RESTful Web 服务中实现注销

    我正在开发一个需要注销服务的移动应用程序 登录服务是通过数据库验证来完成的 现在我陷入了注销状态 退一步 您没有提供有关如何在应用程序中执行身份验证的详细信息 并且很难猜测您在做什么 但是 需要注意的是 在 REST 应用程序中 不能有会话
  • 获取/发布到 RESTful Web 服务

    我需要从 VB6 对 RESTful Web 服务进行一些 GET 和 POST 操作 最好和最简单的方法是什么 您需要添加对 MSXML 库的引用 Dim sUrl As String Dim response As String Dim
  • WCF 服务引用从 WSDL 生成 void 方法

    这是我第一次尝试使用 WCF 所以我猜我做错了什么 我正在尝试访问 WSDL 定义的肥皂服务http confluence atlassian com rpc soap axis confluenceservice v1 wsdl http
  • Camel:拆分集合并写入文件

    我正在尝试拆分 ArrayList 并使用 Apache Camel 将每个元素写入它自己的文件 如这个简化示例所示 from timer poll period 10000 process new Processor public voi

随机推荐