我们正在将WebLogic 10.3.5 Web应用程序迁移到WebLogic 12.1.3,并且我们遇到了一个我们认为可能与Web服务安全性相关的问题.该应用程序使用Axis 1.5.6调用SOA Suite SOAP服务(仍在WebLogic 10.3.5上运行).禁用Web服务安全性后,我们会收到预期的响应:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns3:getNamesResponse
xmlns:ns2="http://www.example.com/ABC/Common"
xmlns:ns3="http://www.example.com/ABC/Profile">
<ns3:OperatingName>
<ns3:Number>123456789</ns3:Number>
<ns3:Name>Company Name, Inc.</ns3:Name>
</ns3:OperatingName>
</ns3:getNamesResponse>
Run Code Online (Sandbox Code Playgroud)
但是一旦启用了Web服务安全性(使用Apache Rampart 1.5.2,Apache Neethi 2.0.5),我们就会开始收到空响应:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:getNamesResponse
xmlns:ns2="http://www.example.com/ABC/Profile"
xmlns:ns4="http://www.example.com/ABC/Common" />
Run Code Online (Sandbox Code Playgroud)
奇怪的是,在查看SOA套件控制台时,SOA中的响应回到Web应用程序(启用了安全性)看起来是正确的:
<message>
<properties>
<property name="tracking.compositeInstanceId" value="2110209"/>
<property name="tracking.ecid" value="0058XKIkdpHFw00Fzzw0w00004Et005Kmk"/>
<property name="ws.wsu.id" value="Body-Body_tTzuB5XmRNQPR7Y7"/>
</properties>
<parts>
<part name="getNamesResponse">
<bp:getNamesResponse>
<bp:OperatingName>
<bp:Number>123456789</bp:Number>
<bp:Name>Company Name, Inc.</bp:Name>
</bp:OperatingName>
</bp:getNamesResponse>
</part>
</parts>
</message>
Run Code Online (Sandbox Code Playgroud)
没有记录异常.还有其他人经历过并解决过这类问题吗?
我正在开发一个使用XJC从XSD生成Java POJO的应用程序.有几十种模式,这个数字会增长.应用程序还需要能够处理相同模式的不同版本,这意味着我将有多个模式定义常见类型.我正在尝试自定义绑定,以便某些核心类型实现一个通用接口.JAXB2 Basics的继承插件似乎做了我需要的东西,但我似乎无法确定正确的语法.
这是我的架构的相关部分:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:my="http://example.com/core"
targetNamespace="http://example.com/core"
xmlns:xml="http://www.w3.org/XML/1998/namespace">
...
<xs:complexType name="addressType">
<xs:sequence>
<xs:element name="Address" type="xs:string"/>
<xs:element name="City" type="xs:string"/>
<xs:element name="Province" type="xs:string"/>
<xs:element name="Country" type="xs:string"/>
<xs:element name="County" type="xs:string" minOccurs="0"/>
<xs:element name="PostalCode" type="xs:string"/>
</xs:sequence>
</xs:complexType>
...
</xs:schema>
Run Code Online (Sandbox Code Playgroud)
...这就是我的自定义绑定文件的样子:
<?xml version="1.0"?>
<jaxb:bindings
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:inheritance="http://jaxb2-commons.dev.java.net/basic/inheritance"
xmlns:my="http://example.com/core"
jaxb:extensionBindingPrefixes="inheritance"
version="2.1">
<jaxb:bindings scd="x-schema::my" xmlns:my="http://example.com/core">
<jaxb:globalBindings localScoping="toplevel">
<jaxb:serializable/>
<xjc:simple/>
</jaxb:globalBindings>
<jaxb:bindings scd="/type::my:addressType">
<inheritance:implements>com.mysite.validator.ValidatableAddress</inheritance:implements>
<!--<xjc:superInterface name="com.mysite.validator.ValidatableAddress"/>-->
</jaxb:bindings>
</jaxb:bindings>
</jaxb:bindings>
Run Code Online (Sandbox Code Playgroud)
我正在使用scd方法,因为在所有显示如何使用inheritence插件的"传统"绑定示例中,指定了schemaLocation.我想避免必须指定schemaLocation,因为我们的模式数量很大(且不断增长).我不想每次添加新架构时都必须更改绑定文件.所以,scd似乎会满足这个要求.
但是当我使用上面的绑定运行构建时,我得到了这个:
Run Code Online (Sandbox Code Playgroud)[xjc] [ERROR] cvc-elt.1: Cannot …
我正在处理字谜,所以我只关心字符串中存在的字符,而不关心它们的顺序。我没有找到合适的Collection类。
您能建议任何可以帮助我保留重复但忽略顺序的课程 吗?
java ×2
anagram ×1
axis2 ×1
collections ×1
jaxb ×1
jaxb2 ×1
scd ×1
web-services ×1
weblogic ×1
weblogic12c ×1
xjc ×1