当前位置: 首页 > 知识库问答 >
问题:

如何在spring boot上访问wsdl方法?

党源
2023-03-14

当我在Spring开机时调用肥皂服务时,我会出错。我使用cxf wsdl2java实现服务方法。我可以将wsdl成功导入到sap-ui。但是我不能发送帖子请求到服务。

有没有什么意见,我该如何解决这个问题?

@Bean("queryQuotaWebService")
public Endpoint queryQuotaEndpoint() {
       EndpointImpl endpoint = new EndpointImpl(bus, "#queryQuota");
       endpoint.setImplementorClass(QueryQuotaWebServiceImpl.class);
       endpoint.publish("/QueryQuotaWebService");
       return endpoint;
}
@Controller("queryQuota")
public class QueryQuotaWebServiceImpl implements QueryQuotaWebService {

   @Override
   public GetQuotaInfoResultBean getQuotaInfo(GetQuotaInfoInput parameters) 
   {
      try {
          return (GetQuotaInfoResultBean) pimsOperationExecutor.execute(parameters);
      } catch (MyException e) {
          throw new RuntimeException(e);
      }
   }
}
@WebService(targetNamespace = "http://webservice.mycompany.com.tr/", name = "QueryQuotaWebService")
@XmlSeeAlso({ObjectFactory.class})
@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
public interface QueryQuotaWebService {

@WebMethod
    @WebResult(name = "getQuotaInfoResponse", targetNamespace = "http://webservice.mycompany.com.tr/", partName = "parameters")
    public GetQuotaInfoResultBean getQuotaInfo(
        @WebParam(partName = "parameters", name = "getQuotaInfoInput", targetNamespace = "http://webservice.mycompany.com.tr/")
        GetQuotaInfoInput parameters
    );
}

这是完整的stacktace。

2019-05-22 16:22:21.339警告1388---[nio-8081-exec-4]o.a.cxf。阶段相位接收链:应用{http://quota.thirdparty.mycompany.com/}QueryQuotaWebServiceImplService#{http://webservice.mycompany.com.tr/}getQuotaInfo引发了异常,正在释放。阿帕奇。cxf。拦截器。错误:对象不是调用公共com时声明类的实例。我的公司。第三方。定额GetQuotaInfoResultBean.com。我的公司。第三方。定额QueryQuotaWebServiceImpl。getQuotaInfo(com.mycompany.thirdparty.quota.GetQuotaInfoInput)和参数[com.mycompany.thirdparty.quota]。GetQuotaInfoInput@256dd1f9].org。阿帕奇。cxf。服务召唤者。抽象调用程序。createFault(AbstractInvoker.java:166)~[cxf-core-3.3.1.jar:3.3.1]位于org。阿帕奇。cxf。jaxws。AbstractJAXWSMethodInvoker。createFault(AbstractJAXWSMethodInvoker.java:267)~[cxf-rt-frontend-jaxws-3.3.1.jar:3.3.1]位于org。阿帕奇。cxf。服务召唤者。抽象调用程序。org上的invoke(AbstractInvoker.java:140)~[cxf-core-3.3.1.jar:3.3.1]。阿帕奇。cxf。jaxws。AbstractJAXWSMethodInvoker。invoke(AbstractJAXWSMethodInvoker.java:232)~[cxf-rt-frontend-jaxws-3.3.1.jar:3.3.1]位于org。阿帕奇。cxf。jaxws。JAXWSMethodInvoker。在org上调用(JAXWSMethodInvoker.java:85)~[cxf-rt-frontend-jaxws-3.3.1.jar:3.3.1]。阿帕奇。cxf。服务召唤者。抽象调用程序。org上的invoke(AbstractInvoker.java:74)~[cxf-core-3.3.1.jar:3.3.1]。阿帕奇。cxf。拦截器。ServiceInvokeInterceptor$1。在java上运行(ServiceInvokerInterceptor.java:59)~[cxf-core-3.3.1.jar:3.3.1]。util。同时发生的遗嘱执行人$runnableapter。在java上调用$$$capture(Executors.java:511)~[na:1.8.0_191]。util。同时发生的遗嘱执行人$runnableapter。在java上调用(Executors.java)~[na:1.8.0_191]。util。同时发生的未来任务。在java上运行$$$capture(FutureTask.java:266)~[na:1.8.0_191]。util。同时发生的未来任务。运行(FutureTask.java)~[na:1.8.0_191]

共有1个答案

张敏达
2023-03-14

问题是endpoint定义的使用。

    @Autowired
    private Bus bus;

    @Bean("queryQuotaWebService")
    public Endpoint queryQuotaEndpoint() {
        EndpointImpl endpoint = new EndpointImpl(bus, new QueryQuotaWebServiceImpl());
        endpoint.publish("/QueryQuotaWebService");
        return endpoint;
    }

以下是所有代码链接。

https://github.com/ekocbiyik/cxf-springboot

 类似资料:
  • 我正在尝试在从CrudRepository扩展的存储库接口上执行我试图在方法中使用存储库实现来执行此操作。当我运行以下代码时,线程在 UpdateTasksService List 中永久等待

  • 本文向大家介绍SpringBoot配置web访问H2的方法,包括了SpringBoot配置web访问H2的方法的使用技巧和注意事项,需要的朋友参考一下 【前情提要】最近开始搭建博客,在本地调试的时候使用的数据库是h2,但是调试的时候需要查看数据库,本文也由此而来。 下面是我用到的方法: 使用IDEA的Database连接工具,具体操作方法就是按照要求配置连接url,用户名和密码即可。具体操作见下图

  • 本文向大家介绍SpringBoot文件访问映射如何实现,包括了SpringBoot文件访问映射如何实现的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了SpringBoot文件访问映射如何实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 通过SpringBoot可以把磁盘内所有的文件都访问到 有一张图片存放在 E://images/a

  • 问题内容: 如何使用Java访问文件中公开的方法?另外,编写Java客户端和使用Web服务涉及哪些步骤? 问题答案: 除了The Elite Gentleman的答案外,这是我成功用于生成能够使用Web服务的类的步骤:命令: 说明: ‘-Xnocompile’禁止生成.class文件 ‘-keep’确保不会删除生成的Java文件(默认情况下,仅保留.class文件) ‘-b’指定一个绑定配置文件。

  • 我是刚接触Java的,对上传和下传有疑问。我写了以下代码: 输出: 所以我的疑问是,当任何对象向上转换到其父类时,它是否丢失了所有的属性或变量? 此外,为什么上播对象不能访问父方法,即使用以下方法?

  • null 从我的类中调用这些代码的工作方式与我预期的一样。但是,我想在Kotlin子类之外调用其中的一个方法。 如果从不同的Kotlin类尝试,则会出现以下编译错误: 未解析得引用:completeWakefulIntent