简体   繁体   English

Siebel生成WSDL输入参数顺序和Visual Studio生成的代码

[英]Siebel generated WSDL input parameters order and Visual Studio generated code

I consume a .wsdl file for a webservice developped by a Siebel team in my company. 我使用公司的Siebel团队开发的Web服务的.wsdl文件。 The generated code by Visual Studio when I update the service reference has changed lately which means I'll have to rewrite some code for the calling methods in the application. 最近,当我更新服务引用时,Visual Studio生成的代码已更改,这意味着我将不得不为应用程序中的调用方法重写一些代码。 Indeed, the order of the input parameters have changed for some of the webservice methods. 实际上,对于某些Web服务方法,输入参数的顺序已更改。 It is visible in the .wsdl itself, the "part name" are not in the order they used to be. 它在.wsdl本身中可见,“部件名称”与以前的顺序不同。

I made some researches for the Visual Studio side and from what I understand, correct me if I'm wrong, the generated code directly depends of the xml nodes order, hence, the generated .wsdl. 我对Visual Studio方面进行了一些研究,据我了解,如果我错了,请更正我,生成的代码直接取决于xml节点的顺序,因此取决于生成的.wsdl。

Is there a way to ensure on the Siebel side, at the .wsdl generation, that the input parameters for every method will always appear in the same order? 有没有一种方法可以确保在.wsdl生成的Siebel端,每种方法的输入参数始终以相同的顺序出现?

I don't know much about Siebel I'm sorry as it's not the part I'm working on. 我对Siebel不太了解,很抱歉,因为这不是我正在研究的部分。

Thanks. 谢谢。

Yes, there is a way to enforce the order from Siebel. 是的,有一种方法可以强制执行Siebel的命令。

In the "Business service method arguments" screen, you (well, your Siebel team) have to specify the "Preferred sequence" property: 在“业务服务方法参数”屏幕上,您(您的Siebel团队)必须指定“首选顺序”属性:

http://docs.oracle.com/cd/B31104_02/books/EAI2/EAI2_WebServices12.html http://docs.oracle.com/cd/B31104_02/books/EAI2/EAI2_WebServices12.html

NOTE: For RPC services, the order of input arguments is important. 注意:对于RPC服务,输入参数的顺序很重要。 You can set the order through the Preferred Sequence property of the business service method argument in Siebel Tools. 您可以通过Siebel Tools中业务服务方法参数的Preferred Sequence属性设置订单。 By specifying this parameter, the outbound dispatcher makes sure that the sequence parameters for an operation are in the correct order. 通过指定此参数,出站调度程序可以确保操作的顺序参数的顺序正确。 The Preferred Sequence property is only supported with outbound services. 首选序列属性仅受出站服务支持。

Also, if you're using integration objects as arguments, you should specify the "External sequence" and the "XML sequence" properties, both in the "Integration components" and the "Integration component fields" screens: 另外,如果将集成对象用作参数,则应在“集成组件”和“集成组件字段”屏幕中指定“外部序列”和“ XML序列”属性:

http://docs.oracle.com/cd/E05553_01/books/SSSE/SSSE_Customize8.html http://docs.oracle.com/cd/E05553_01/books/SSSE/SSSE_Customize8.html

XML Sequence: Specifies the order in which the field will appear in the Output XML message. XML序列:指定字段在“输出XML”消息中出现的顺序。 Enter a value that is not already present in the field list, such as the number that follows the value used for the last existing field in the sequence. 输入字段列表中尚不存在的值,例如该序列中最后一个现有字段所使用的值后面的数字。

External Sequence: Specifies the order in which the field will appear, when Data Mapper is used to map the fields. 外部序列:指定使用Data Mapper映射字段时字段显示的顺序。 Enter a value that is not already present in the field list, such as the number that follows the value used for the last existing field in the sequence. 输入字段列表中尚不存在的值,例如该序列中最后一个现有字段所使用的值后面的数字。

It is recommended that you use the same value for XML Sequence and External Sequence. 建议对XML序列和外部序列使用相同的值。

That way, the WSDL elements should be in the same order every time they update the web service. 这样,WSDL元素每次更新Web服务时都应以相同的顺序进行。

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

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