- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个导入 xsd 的 wsdl 文件。在我的 pom.xml 中,我使用 Apache-CXF 和 wsdl2java 来生成代理类,但需要更改名称。这应该是可能的,因为相反,从 xsd 文件生成,类名自定义可以工作。这里的困难是我不知道如何访问我导入的 xsd 根元素。为了简单起见,我使用了一个示例项目。wsdl:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<wsdl:definitions
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap12/"
xmlns:tns="http://www.briansdevblog.com/Accounts/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Accounts"
targetNamespace="http://www.briansdevblog.com/Accounts/"
xmlns:accounts="http://com/blog/demo/webservices/accountservice">
<wsdl:types>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:import
namespace="http://com/blog/demo/webservices/accountservice"
schemaLocation="../schema/AccountService.xsd">
</xsd:import>
</xsd:schema>
</wsdl:types>
<wsdl:message name="AccountDetailsRequest">
<wsdl:part element="accounts:AccountDetailsRequest"
name="parameters" />
</wsdl:message>
<wsdl:message name="AccountDetailsResponse">
<wsdl:part element="accounts:AccountDetailsResponse"
name="parameters" />
</wsdl:message>
<wsdl:portType name="AccountService">
<wsdl:operation name="GetAccountDetails">
<wsdl:input message="tns:AccountDetailsRequest" />
<wsdl:output message="tns:AccountDetailsResponse" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="AccountServiceSoapBinding"
type="tns:AccountService">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="GetAccountDetails">
<soap:operation
soapAction="http://www.briansjavablog.com/Accounts/GetAccountDetails" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="AccountService">
<wsdl:port binding="tns:AccountServiceSoapBinding"
name="AccountsPort">
<soap:address
location="http://localhost:8080/apache-cfx-demo/services/accounts" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
xsd:
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://com/blog/demo/webservices/accountservice"
xmlns:account="http://webservices.demo.blog.com"
targetNamespace="http://com/blog/demo/webservices/accountservice"
elementFormDefault="qualified">
<xsd:complexType name="Account">
<xsd:sequence>
<xsd:element name="AccountNumber" type="xsd:string"/>
<xsd:element name="AccountName" type="xsd:string"/>
<xsd:element name="AccountBalance" type="xsd:double"/>
<xsd:element name="AccountStatus" type="EnumAccountStatus"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="EnumAccountStatus">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Active"/>
<xsd:enumeration value="Inactive"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:element name="AccountDetailsRequest">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="accountNumber" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="AccountDetailsResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="AccountDetails" type="Account"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
pom插件代码:
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>${cxf.version}</version>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<configuration>
<sourceRoot>${basedir}/target/generated/java</sourceRoot>
<wsdlOptions>
<wsdlOption>
<wsdl>${basedir}/src/main/resources/wsdl/Accounts.wsdl</wsdl>
<bindingFiles>
<bindingFile>${basedir}/src/main/resources/custom/custom.xjb</bindingFile>
</bindingFiles>
</wsdlOption>
</wsdlOptions>
</configuration>
<goals>
<goal>wsdl2java</goal>
</goals>
</execution>
</executions>
</plugin>
以及包含我记录的尝试的 xjb 文件:
<?xml version="1.0" encoding="UTF-8"?>
<jaxws:bindings wsdlLocation="../wsdl/Accounts.wsdl"
xmlns:jaxws="http://java.sun.com/xml/ns/jaxws"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<!-- option 2
<jaxws:bindings node="wsdl:definitions">
<jaxws:bindings node="wsdl:types" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb">
<jaxb:bindings schemaLocation="../schema/AccountService.xsd" node="/xsd:schema">
<jaxb:bindings node="//xsd:complexType[@name='Account']">
<jaxb:class name="AccountEx"/>
</jaxb:bindings>
</jaxb:bindings>
</jaxws:bindings>
</jaxws:bindings>
no errors but also no effect
-->
<!-- option 1
<jaxws:bindings node="wsdl:definitions">
<jaxws:bindings node="wsdl:types" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb">
<jaxb:bindings schemaLocation="../schema/AccountService.xsd" node="/xsd:schema">
<jaxb:bindings xmlns:xsd="http://www.w3.org/2001/XMLSchema" node="//schema/xs:import[@namespace='http://com/blog/demo/webservices/accountservice']/xsd:complexType[@name='Account']">
<jaxb:class name="AccountEx"/>
</jaxb:bindings>
</jaxb:bindings>
</jaxws:bindings>
</jaxws:bindings>
no errors but also no effect
-->
</jaxws:bindings>
最佳答案
好的,我解决了,感谢 https://stackoverflow.com/a/20245920/10017087这比我想象的要简单:1. jaxws:bindings 用于 wsdl 编辑,使用 jaxb:bindings 用于 xsd 编辑。2.您只需指明xsd位置(jaxb:绑定(bind)schemaLocation)
<?xml version="1.0" encoding="UTF-8"?>
<jaxb:bindings
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" jaxb:version="2.0">
<jaxb:bindings
schemaLocation="../schema/AccountService.xsd">
<jaxb:bindings node="//xsd:complexType[@name='Account']">
<jaxb:class name="AccountEx" />
</jaxb:bindings>
</jaxb:bindings>
</jaxb:bindings>
关于java - 在 wsdl 中自定义导入 xsd : how to get to the rootelement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60836463/
在指南中,我可以找到: ” 如果要将Ember应用程序嵌入到现有站点中,则可以通过提供rootElement属性为特定元素设置事件监听器: window.App = Ember.Application
我有以下 POJO ,根元素没有显示在 xml 文件中(通过 SOAP jax-ws 调用发送),有人可以指出问题吗? @XmlRootElement(name = "CATALOGUE") @Xml
我的目标是在任意 Angular 项目中找到根元素(如果我只有 Angular 对象)。这显然不太合规,所以一个破解的解决方案就可以了。 我的第一个方法是 find("[ng-app]"),但这在引导
我正在尝试在应用程序中使用 handsontable 并对代码进行一些实验。我现在面临错误 - “instance.rootElement.getAttribute 不是函数”。当我检查它发生在代码行
我一直在关注 monotouch.dialog 任务示例应用程序 (http://docs.xamarin.com/ios/Guides/User_Interface/MonoTouch.Dialog
我正在向 RootElement 的一部分添加某些值,如下所示:- NavigationRoot = new RootElement("Menu"){ //Here we create the roo
我正在尝试使用 Monotouch.Dialog 构建菜单结构。该结构由多个嵌套的 RootElement 组成。 创建 RootElement 时,您在构造函数中设置标题。此标题用于表格单元格的文本
我正在使用 jersey REST JAX-RS 来开发 REST Web 服务。我想以以下格式返回 xml- .... 我在每个 POJO 类中使用@RootElem
当我执行 node elementexplorer.js http://127.0.0.1:8080/app/view1 我收到以下错误: There was a webdriver error: E
我正在尝试为 XSD 类型指定一个实现类。这是一个最小的示例架构: 我现
我试图找到包含在 Windows 服务窗口(开始->运行->Services.msc)中的列表项。该列表项名为“Arc Service”,使用 Inspect 很容易找到它,但我的代码无法找到它。这是
我有以下带有命名空间的 XML 文件: 1972 Dennis Ritchie 1995 Rasmus
我在我的项目中使用了 angulartics,但是当我向我的模块添加依赖项时,出现以下错误: 未知提供者:$rootElementProvider <- $rootElement <- $locati
我有一个导入 xsd 的 wsdl 文件。在我的 pom.xml 中,我使用 Apache-CXF 和 wsdl2java 来生成代理类,但需要更改名称。这应该是可能的,因为相反,从 xsd 文件生成
我的 xml 文件中有注释,称之为 X。我从另一个 xml 文件 Y 中获取,我想将元素放置在 X 中的正确注释下。我正在使用 java appendChild 方法。在这种情况下,“rootElem
下面是我的 XML 字符串,我在访问 Entity3 列表时遇到问题。 Value1 Value2 Value1 Value2
在我正在构建的应用程序中,我使用以下模式:如果用户单击分层导航元素,我会立即打开下一个 UIViewController,它会自行加载数据并显示如果通过网络加载微调器。 现在大多数 ListView
我需要将使用 ember-cli 制作的 ember 应用程序嵌入到现有网站中。 如果没有 ember-cli 我会这样做: App = Ember.Application.create({ ro
我遵循生成 jaxb 对象的架构。我正在用数据填充 jaxb 对象,然后对其进行编码(marshal)。我想在编码(marshal) jaxb 对象时进行模式验证。 ByteArrayOutputSt
我一直在上下搜索有关如何执行此操作的信息: 我需要根据 RadioGroup 的值创建多个 RootElement,我不太确定如何或在何处编写它。 理想情况下,它会创建一个新的 RootElement
我是一名优秀的程序员,十分优秀!