0

次のような 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 

私の質問:

  1. API バージョンの違いは何ですか?
  2. この XMLSchema QName エラーは何ですか? それを解決する方法。
4

1 に答える 1

1

私は答えを得ました:

  1. すべての API バージョンには異なる実装があります。例: 新しいバージョンでは、パスワードが MD5 でコード化されていることが想定されています。

  2. パラメーターに間違った情報を指定すると、XMLSchema エラーが発生します。java.rmi.RemoteException は、無関係なエラー メッセージを表示するだけです。

于 2012-10-18T06:01:20.390 に答える