我有一个使用NetBeans中的jax-ws创建的Web服务。当我从wsdl文件创建soap客户端时,Netbeans会生成用于序列化的映射类。
我的问题是我不想要它们。我自己写了它们,它们用在应用程序的其他部分。我尝试使用我的类而不是自动生成的所有内容来发送SOAP消息,但没有成功。 繁琐的解决方案是将数据从一个类复制到另一个类然后发送消息,但我的类有大约20个子类,所以我非常想跳过这个。
答案 0 :(得分:0)
使用JAXB episode
选项,它基本上允许您指示JAXB重用包中的类。您可以在剧集文件中指定所需的包。 “episode”只是jaxb绑定文件的一个奇特名称,它与常规jaxb配置文件没有太大区别。您的剧集文件看起来像这样(绑定文件摘录Blaise Doughan的博客)
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<bindings version="2.1" xmlns="http://java.sun.com/xml/ns/jaxb">
<bindings scd="x-schema::tns"
xmlns:tns="http://www.example.org/Product">
<schemaBindings map="false"/>
<bindings scd="tns:product">
<class ref="com.you.yourclass"/>
</bindings>
</bindings>
</bindings>
将文件另存为.episode
文件并在Netbeans项目中进行配置。我假设您在Netbeans中运行从WSDL创建Web服务向导
右键单击项目中的 Webservice 节点。导航到 WSimport选项标签
在 Jaxb(xjc)选项框架下,添加以下内容
(其中myepisodefile.episode
指的是您之前创建的剧集文件。请确保该项目中的文件可用)