Flex和几个xsd

时间:2011-02-24 19:16:33

标签: flex soap service xsd

我正在使用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);
}

为什么会这样?

2 个答案:

答案 0 :(得分:0)

我仍然遇到此问题,并在Adobe上发布了一个帖子。

如果有人有兴趣:

http://forums.adobe.com/thread/804345

答案 1 :(得分:0)

前段时间我已经解决了这个问题,尽管似乎没有人有这个问题,甚至不关心它:-P ......这是解决方案。

正如我所说,我已经在Websphere Integration Developer上创建了数据模型。

我们创建一个树数据结构,例如:

                                                         

每个元素都创建为XSD文件,而不是相同的xsd。

所以我所做的就是将每个XSD文件的每个元素复制到XSD。

Voila这就像一个魅力。

总之,如果在Websphere Integration Developer中我们可以将每个元素设置为保存在同一个XSD上,那将是很好的,因为我必须直接在XSD文件上进行此更改。

希望将来没有人遇到这个问题但是如果它至少这是我的建议......