返回列表 发帖

[KB 80551功能解说] 我该如何使用经典版SOAP Web services功能保存并创建一条记录?

* 本文由赛捷软件(上海)有限公司翻译完成,未经授权不得转载。如需转载,请先联系相应版块的版主取得授权。



产品
Sage EM企业管理(原名Sage X3)


类别
配置
设置与偏好



描述
我该如何使用经典版SOAP Web services功能保存并创建一条记录?

自PU9开始,web services是通过管理→管理→Web Services→经典版SOAP Web services(soapGenerics)功能管理的。


解决方法
1.        请确认经典版SOAP Web services配置好了。请参见相关资源。
2.        点击功能:管理→管理→Web Services→经典版SOAP Web services(soapGenerics)。
3.        点击“CAdxWebServicXmlCC”链接。
4.        点击STUB版块中的显示卡箭头展开操作
5.        点击“save”(创建X3对象)。
6.        录入一个语言,例如ENG
7.        录入在经典版SOAP池配置(soapClassicPools)功能中设定的池别名
8.        请注意:【池ID】【请求的配置】不是必填的。至于和有关请求的配置的更多选项,请查看在线帮助主题“SOAP Web services实施”。
9.        录入与在开发→脚本字典→脚本→Web服务(GESAWE)功能中的发布名称相同的【公用名称】(例如BPC)。
10.        以XML或JSON格式录入ObjectXml的值。
11.        点击“调用”

在像SOAPUI这样的外部程序中,语法类似于:

请注意:你必须使用Syracuse web service凭据进行基本身份验证设置

XML格式
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wss="http://www.adonix.com/WSS">
   <soapenv:Header/>
   <soapenv:Body>
      <wss:save soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
         <callContext xsi:type="wss:CAdxCallContext">
            <codeLang xsi:type="xsd:string">ENG</codeLang>
            <poolAlias xsi:type="xsd:string">V11P0</poolAlias>
            <poolId xsi:type="xsd:string"></poolId>
            <requestConfig xsi:type="xsd:string"></requestConfig>
         </callContext>
         <publicName xsi:type="xsd:string">BPC</publicName>
         <objectXml xsi:type="xsd:string">
<![CDATA[<PARAM>
<GRP ID="BPC0_1" >
<FLD NAME="BCGCOD" TYPE="Char" >US</FLD>
<FLD NAME="BPCNUM" TYPE="Char" >NA323</FLD>
</GRP>
<GRP ID="BPRC_1">
  <FLD NAME="BPRNAM" TYPE="Char">New</FLD>
</GRP>
<TAB DIM="30" ID="BPAC_1" SIZE="1" >
<LIN>
<FLD NAME="CODADR" TYPE="Char" >CORP</FLD>
<FLD NAME="POSCOD" TYPE="Char" >30096</FLD>
<FLD NAME="CTY" TYPE="Char" >DULUTH</FLD>
<FLD MENULAB="Yes" MENULOCAL="1" NAME="BPAADDFLG" TYPE="Integer" >2</FLD>
</LIN>
<LIN>
<FLD NAME="CODADR" TYPE="Char" >CORP1</FLD>
<FLD NAME="POSCOD" TYPE="Char" >30096</FLD>
<FLD NAME="CTY" TYPE="Char" >DULUTH</FLD>
<FLD MENULAB="Yes" MENULOCAL="1" NAME="BPAADDFLG" TYPE="Integer" >1</FLD>
</LIN>
</TAB>
<GRP ID="BPC3_2" >
<FLD NAME="VACBPR" TYPE="Char" >NTX</FLD>
</GRP>
<TAB DIM="30" ID="BPC4_1" SIZE="1">
<LIN>
<FLD NAME="BPAADD" TYPE="Char">CORP</FLD>
<FLD MENULAB="No" MENULOCAL="1" NAME="BPDADDFLG" TYPE="Integer">2</FLD>
</LIN>
</TAB>
</PARAM>]]>
</objectXml>
      </wss:save>
   </soapenv:Body>
</soapenv:Envelope>


JSON格式
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wss="http://www.adonix.com/WSS">
   <soapenv:Header/>
   <soapenv:Body>
      <wss:save soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
         <callContext xsi:type="wss:CAdxCallContext">
            <codeLang xsi:type="xsd:string">ENG</codeLang>
            <poolAlias xsi:type="xsd:string">V11P0</poolAlias>
            <poolId xsi:type="xsd:string"></poolId>
            <requestConfig xsi:type="xsd:string"></requestConfig>
         </callContext>
         <publicName xsi:type="xsd:string">BPC</publicName>
         <objectXml xsi:type="xsd:string">
{
"BPC0_1":{"BCGCOD":"US","BPCNUM":"NA325"},
"BPRC_1":{"BPRNAM":"JSON"},
"BPAC_1":
[
{"CODADR":"CORP","POSCOD":"30096","CTY":"DULUTH","BPAADDFLG":2},
{"CODADR":"CORP1","POSCOD":"30096","CTY":"DULUTH","BPAADDFLG":1},
{"CODADR":"CORP2","POSCOD":"30096","CTY":"DULUTH","BPAADDFLG":1}
],
"BPC3_2":{"VACBPR":"NTX"},
"BPC4_1":
[
{"BPAADD":"CORP","BPDADDFLG":2},
{"BPAADD":"CORP1","BPDADDFLG":1}
]
}
</objectXml>
      </wss:save>
   </soapenv:Body>
</soapenv:Envelope>


相关资源
在Sage X3 PU9和之后版本中我该如何配置和测试SOAP web services?

返回列表