我编写了一个Jersey客户端应用程序,它与两个Web服务交互,一个是REST,另一个是SOAP。我使用REST服务提供的员工数据来创建一个带有SOAP服务的新用户。
REST服务是一个返回Employee实体的JAX-RS(Jersey)应用程序:
@Entity
@Table(name = "EMPLOYEE_TABLE")
@XmlRootElement
public class Employee implements Serializable {
...
}
我没有明确为实体类创建模式定义。
GET请求返回Employee实体的表示:
GET /employees/100
<Employee id='100' providerId='3345'>
<Link type="application/xml" href="/employees/100" rel="self"/>
<Name>Doe, Dr. John</Name>
<Departments>
<Department id='10'><Name>Emergency Medicine</Name></Department>
<Department id='56'><Name>Behavioral Medicine</Name></Department>
</Departments>
</Employee>
SOAP服务(BusinessObjects Enterprise Web服务SDK)提供了一个Java客户端来简化其使用。
虽然我可以解析Employee实体的XML表示并将其分配给User类的相应setter,但在Jersey客户端应用程序中创建Employee代理类(带有相应的注释)可能更容易。
问题:
答案 0 :(得分:0)
关于问题1,如果您的XSD部署在您的网络应用程序中,您可以在浏览器中导航到它。例如,在我的webapp中,我有一个包含我的XSD的/xsd
文件夹。当应用程序运行时,我可以将浏览器指向http://localhost:8080/<app_name>/xsd/<xsd_name>.xsd
并查看XSD。