You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

InDesign Server SDK Java示例客户端运行异常:类引用未解析

解决InDesign Server Java客户端未解析符号问题

以下是针对你遇到的类未解析错误的排查和解决步骤:

  • 确认wsimport命令的完整参数
    不要仅使用wsimport -keep,需要指定包名匹配示例代码中的import路径,同时开启日志排查问题。执行命令:

    wsimport -keep -verbose -p localhost.Service_wsdl "你的IDSP.wsdl完整路径"
    

    -p参数确保生成的类直接落在localhost.Service_wsdl包下,和示例代码的import一致;-verbose能输出生成过程的详细日志,方便定位是否有WSDL解析失败的情况。

  • 补全XSD对应的Java类
    InDesign Server的WSDL内嵌了XSD schema(比如定义IDSPScriptArg、RunScriptParameters的schema),单独用wsimport可能无法生成这些类。需要:

    1. 打开IDSP.wsdl文件,找到<wsdl:types>标签下的XSD内容,将其保存为单独的ids.xsd文件。
    2. 使用JDK自带的xjc命令生成XSD对应的Java类:
      xjc -d ./generated -p com.adobe.ns.InDesign.soap "ids.xsd的完整路径"
      
      -d指定生成类的输出目录,-p指定包名匹配示例中的com.adobe.ns.InDesign.soap。
  • 正确配置IDE的源码路径
    生成所有类后,确保localhost.Service_wsdl和com.adobe.ns.InDesign.soap所在的目录被IDE标记为源码根目录:

    • IntelliJ:右键目标目录 → Mark Directory as → Sources Root
    • Eclipse:右键目标目录 → Build Path → Use as Source Folder
      避免只把文件复制到项目中但未加入编译路径。
  • 核对JDK版本兼容性
    InDesign Server SDK的Java客户端对JDK版本有要求(通常推荐JDK 8),过高版本的JDK可能导致代码生成或编译错误。检查IDE的项目JDK配置:

    • IntelliJ:File → Project Structure → Project 中调整SDK版本
    • Eclipse:Window → Preferences → Java → Installed JREs 选择兼容的JDK
  • 验证WSDL来源一致性
    既然C++客户端能正常运行,说明服务端状态正常。可以尝试直接从运行中的服务获取WSDL生成代码,比如执行:

    wsimport -keep -verbose -p localhost.Service_wsdl "http://localhost:你的服务端口/IDSP/IDSP.wsdl"
    

    避免本地WSDL文件和运行服务的WSDL版本不一致导致的类缺失。

内容的提问来源于stack exchange,提问作者Bikramjit Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 06:35:21