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 回答