次のような SugarCRM CE Web サービス API の URL が多数あります。
http://localhost/soap.php?wsdl
AND
http://localhost/service/v2/soap.php?wsdl
http://localhost/service/v3/soap.php?wsdl
http://localhost/service/v4/soap.php?wsdl
http://localhost/service/v4_1/soap.php?wsdl
それらはすべてRPC/Encodedの WSDL を生成します
コマンドラインでwscompile Java ツールを使用して WSDL を使用する場合
wscompile -gen:client config.xml -keep
およびconfig.xmlには含まれています
<?xml version="1.0" encoding="UTF-8"?>
<configuration
xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config">
<wsdl location="http://localhost/service/v4_1/soap.php?wsdl" packageName="com.crm.imported"/>
</configuration>
生成されたクラスを取得できました。ただし、生成されたクラスでは、すべての URL の構造が異なります。
さらに、http://localhost/soap.php?wsdlによって生成されたクラスのみが機能し、残りのクラスはエラーを返します:
java.rmi.RemoteException: Runtime exception; nested exception is:
unexpected element type: expected={http://www.w3.org/2001/XMLSchema}QName, actual={http://www.w3.org/2001/XMLSchema}int
私の質問:
- API バージョンの違いは何ですか?
- この XMLSchema QName エラーは何ですか? それを解決する方法。