简体   繁体   English

从露天场所调用基于wsdl的Web服务

[英]calling wsdl based webservice from within alfresco

i followed this article: http://www.mkyong.com/webservices/jax-ws/jax-ws-hello-world-example/ 我遵循了这篇文章: http : //www.mkyong.com/webservices/jax-ws/jax-ws-hello-world-example/

so i have: 所以我有:

which serves as the endpoint. 作为端点。

on the other side i have the client which i generated with wsimport: 另一方面,我有用wsimport生成的客户端:

this runs fine in eclispe without alfresco being involved. 这在eclispe中运行良好,而无需参与露天活动。 however, i want to call the webservice from alfresco (from java backed web script for example) 但是,我想从露天调用Web服务(例如,从Java支持的Web脚本)

i tried to copy the client side stuff to my amp file and calling it from a webscript but it fails! 我试图将客户端的内容复制到我的amp文件中,并从网络脚本中调用它,但失败!

Caused by: java.lang.IncompatibleClassChangeError: Class com.ibm.wsdl.DefinitionImpl does not implement the requested interface javax.wsdl.extensions.AttributeExtensible

1 - is there a more elegant way to configure the access to the wsdl by defining a spring bean (spring-ws) or such 1-是否存在更优雅的方式来通过定义Spring bean(spring-ws)或类似方式来配置对wsdl的访问

2 - why is it not working? 2-为什么不起作用? full trace: http://pastebin.com/ak1qzygA 完整跟踪: http : //pastebin.com/ak1qzygA

using alfresco community 5.0.a 使用露天社区5.0.a

thanks 谢谢

You will see IncompatibleClassChangeError usually when the dependancy/library jar has changed. 通常,当依赖项/库jar已更改时,您会看到IncompatibleClassChangeError。 Hence the method/code dependant on the library has to be recompiled against the changes. 因此,依赖于库的方法/代码必须针对更改进行重新编译。

Guessing the problem here has much to do with some dependancy jar being mispicked or an older version of jar present or one jar prioritized over the other. 在此猜测问题与错误地选择了一些依赖jar或存在较旧版本的jar或将一个jar优先于另一个jar密切相关。 A look into the jars containing 'com.ibm.wsdl.DefinitionImpl' class in your classpath should be of some help. 在您的类路径中查看包含“ com.ibm.wsdl.DefinitionImpl”类的罐子应该有所帮助。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM