我使用Weblogic 12c,并使用注释创建了EJB web服务:@Stateless
和@WebService
。此web服务的WSDL文件将由Weblogic在运行时生成,默认情况下Weblogic决定不使用内联模式。我应该怎么做才能为我的web服务提供一个wsdl文件?我已经看过这篇文章,但我不知道如何在Weblogic中使用-inlineSchemas
参数。
我搜索了很多,但没有什么可以系统地解决这个问题,例如在Weblogic管理面板中设置一个参数。我最终决定手动解决它,我写了一个脚本来生成带有-inlineSchemas
参数的WSDL文件。因为我在课堂上使用了@EJB
,所以我不得不使用javaee-api.jar
文件。我下载了jar文件,并将其放在.bat
文件附近(我使用的是Windows10)。在.bat文件中应该有如下内容:
wsgen -wsdl -inlineSchemas -cp .;javaee-api-6.0.jar qualified.name.of.your.class -r DESTINATION-OF-WSDL-FILE
然后在eclipse中,我为我的项目创建了一个新的构建器:
右键单击项目资源管理器中的项目->属性->建设者->新建…->程序
在下一个窗口中,我设置了程序的位置和工作目录。然后,每次我构建项目(使用Ctrl+B构建所有项目)时,都会从qualified.name.of.your.class
生成新的WSDL文件。