我们有一名姓氏为Null的员工.当该姓氏用作搜索词时,我们的员工查找应用程序将被终止(现在经常发生这种情况).收到的错误(感谢Fiddler!)是:
<soapenv:Fault>
<faultcode>soapenv:Server.userException</faultcode>
<faultstring>coldfusion.xml.rpc.CFCInvocationException: [coldfusion.runtime.MissingArgumentException : The SEARCHSTRING parameter to the getFacultyNames function is required but was not passed in.]</faultstring>
Run Code Online (Sandbox Code Playgroud)
可爱,对吧?
参数类型是string.
我在用:
请注意,从ColdFusion页面调用Web服务作为对象时,不会发生错误.
我正在尝试编译由IBM的WSDL2Java在Java5上创建的Java 1.4代码,而无需重新创建存根并在Eclipse中看到此错误.我假设创建的存根应该只要运行时jar可用就可以编译(它们是).
Access restriction: The type QName is not accessible due to restriction on required library C:\Program Files\Java\jdk1.5.0_16\jre\lib\rt.jar
完整的类名是 javax.xml.namespace.QName
到底发生了什么?
这是我试图用香肠重构一头猪的情况吗?我最好重新创建存根吗?
我打算为iPhone开发一个应用程序,该应用程序必须访问几个SOAP服务.在iPhone SDK中进行一些基本检查时,我无法找到任何访问SOAP服务的支持,一点谷歌搜索得出的结论是iPhone SDK中不支持SOAP.
因此,如果我想构建该应用程序,我需要提出一种从iPhone访问SOAP服务的方法.什么是最好的方法?任何最佳做法?有人已经使用iPhone SDK中存在的功能来编写库以访问SOAP服务吗?
(由于我需要访问的服务是由另一方公开的,并且它们只将它公开为SOAP,遗憾的是不能选择切换到另一种类型的接口(例如基于REST的API).
格罗
XML Schema和之间有什么区别WSDL?
我注意到的差异是WSDL包含XSD和WSDL我们可以声明操作,但不是XSD.那是对的吗?
当我使用来自CXF的wsdl2java(生成类似于wsimport的东西)生成一个webservice客户端时,通过maven,我的服务从这样的代码开始:
@WebServiceClient(name = "StatusManagement",
wsdlLocation = "c:/some_absolute_path_to_a_wsdl_file.wsdl",
targetNamespace = "http://tempuri.org/")
public class StatusManagement extends Service {
public final static URL WSDL_LOCATION;
public final static QName SERVICE = new QName("http://tempuri.org/", "StatusManagement");
public final static QName WSHttpBindingIStatus = new QName("http://tempuri.org/", "WSHttpBinding_IStatus");
static {
URL url = null;
try {
url = new URL("c:/some_absolute_path_to_a_wsdl_file.wsdl");
} catch (MalformedURLException e) {
System.err.println("Can not initialize the default wsdl from c:/some_absolute_path_to_a_wsdl_file.wsdl");
// e.printStackTrace();
}
WSDL_LOCATION = url;
}
Run Code Online (Sandbox Code Playgroud)
硬编码的绝对路径真的很糟糕.生成的类不能在除我之外的任何其他计算机上工作.
第一个想法是将WSDL文件(以及它导入的所有内容,其他WSDL和XSD)放在jar文件和类路径中.但我们想避免这种情况.由于所有这些都是由基于WSDL和XSD的CXF和JAXB生成的,因此我们认为在运行时需要知道WSDL没有意义.
wsdlLocation属性旨在覆盖WSDL位置(至少这是我在某处获得的),默认值为"".由于我们使用maven,我们尝试<wsdlLocation></wsdlLocation>在CXF的配置中包含以尝试强制源生成器将wsdlLocation留空.但是,这只是使它忽略XML标记,因为它是空的.我们做了一个非常难看的可耻黑客,使用<wsdlLocation>" + "</wsdlLocation>. …
目前正在做一些考试,我正在努力解决一些概念.这些都在我的笔记中被"提及",但我并不真正理解它们是如何联系在一起的.据我所知:
SOA - 使服务使用者/提供者进行通信的解决方案.(据我所知,这是其他一切的总称)
WSDL - 描述提供者服务的语言.
SOAP - 服务用于发送消息的XML协议"包装器".与WSDL一起使用以提供参数?
REST - 在功能上类似于SOAP但避免使用XML的设计模式?(真的不确定这一个)
JSON - 使用javascript的XML的替代品?(也不确定这一个)
在互联网上环顾四周似乎没有明确定义所有这些是什么以及它们如何相互关联.
我需要使用Web服务.他们给我发了WSDL文件.我应该怎么做才能将它添加到我的网站并开始使用它作为代理.(如果我将它放在虚拟目录上就可以发现它,但是它是否授予我与真实Web服务的连接?)