我正在使用Flex并且正在尝试访问Web服务。
该Web服务引用了几个XSD文件。那些XSD文件遵循这个“顺序”:
<call.xsd>
<input.xsd>
</input.xsd>
<output.xsd>
<struct1.xsd>
</struct1.xsd>
<struct2.xsd>
</struct2.xsd>
<struct3.xsd>
</struct3.xsd>
</output.xsd>
</call.xsd>
在网络监视器上,有几千个对结构XSD的请求,并且没有结果或错误事件....
以下是我如何宣布网络服务:
<s:WebService id="myService" wsdl="http://localhost:9080/Path/WebServiceName.wsdl"
concurrency="single">
<s:operation name="call_WebServiceOperation" result="resultHandler(event)"
fault="faultHandler(event)" resultFormat="object" />
</s:WebService>
以下是我如何启动它:
public var request:Request
private function init():void {
request = new Request("param1", "param2", "param3", "param4", "param5", "param6");
myService.call_WebServiceOperation(request);
}
这就是我正在处理的事件:
protected function resultHandler(event:ResultEvent):void
{
// TODO Auto-generated method stub
} -> Debugging here
protected function faultHandler(event:FaultEvent):void
{
Alert.show(event.fault.faultString);
}
为什么会这样?
答案 0 :(得分:0)
答案 1 :(得分:0)
前段时间我已经解决了这个问题,尽管似乎没有人有这个问题,甚至不关心它:-P ......这是解决方案。
正如我所说,我已经在Websphere Integration Developer上创建了数据模型。
我们创建一个树数据结构,例如:
每个元素都创建为XSD文件,而不是相同的xsd。
所以我所做的就是将每个XSD文件的每个元素复制到XSD。
Voila这就像一个魅力。
总之,如果在Websphere Integration Developer中我们可以将每个元素设置为保存在同一个XSD上,那将是很好的,因为我必须直接在XSD文件上进行此更改。
希望将来没有人遇到这个问题但是如果它至少这是我的建议......