我写了一个camel route,它基本上是一个https web服务的代理。以下是我的路线
请注意,https 服务以 gzip 编码响应!
<camel:sslContextParameters id="sslContext">
<camel:trustManagers>
<camel:keyStore resource="certificates/cert.jks" type="jks"
password="test"/>
</camel:trustManagers>
</camel:sslContextParameters>
<cxf:cxfEndpoint id="source"
wsdlURL="wsdl/SampleService.wsdl"
serviceClass="com.sample"
address="http://localhost:9000/SampleService">
<cxf:properties>
<entry key="dataFormat" value="PAYLOAD"/>
</cxf:properties>
</cxf:cxfEndpoint>
<cxf:cxfEndpoint id="target"
wsdlURL="wsdl/target.wsdl"
serviceClass="com.sample1"
address="https://endpoint">
<cxf:properties>
<entry key="dataFormat" value="PAYLOAD"/>
</cxf:properties>
<cxf:features>
<bean class="org.apache.cxf.transport.common.gzip.GZIPFeature"/>
</cxf:features>
<cxf:inInterceptors>
<bean class="org.apache.cxf.transport.common.gzip.GZIPInInterceptor"/>
</cxf:inInterceptors>
</cxf:cxfEndpoint>
<bean id="headerProcessor" class="com.sample.HeaderProcessor"/>
<bean id="defaultHostnameVerifier" class="com.sample.customHostNameVerifier"/>
<camel:camelContext xmlns="http://camel.apache.org/schema/spring" id="vediContext" streamCache="true">
<onException>
<exception>org.apache.cxf.binding.soap.SoapFault</exception>
<redeliveryPolicy maximumRedeliveries="0" redeliveryDelay="2000"/>
</onException>
<camel:route>
<camel:from uri="cxf:bean:source"/>
<camel:to uri="cxf:bean:target?sslContextParameters=#sslContext&hostnameVerifier=#defaultHostnameVerifier">
</camel:to>
</camel:route>
</camel:camelContext>
使用此路由,当我通过 SOAP UI 调用终结点时,第一次调用始终成功,我得到有效的响应。
对于此后的任何调用,我总是得到以下异常:
<soap:Fault>
<faultcode xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/">ns0:Client</faultcode>
<faultstring>Couldn't create SOAP message due to exception: XML reader error: com.ctc.wstx.exc.WstxUnexpectedCharException: Illegal character ((CTRL-CHAR, code 31))
at [row,col {unknown-source}]: [1,1]</faultstring>
</soap:Fault>
这个问题是由于有效载荷大小相当大而引起的。在使用ApacheCamel时,提出了另一个问题,以寻求有关使用大型SOAP负载的帮助。
原因是因为包含在JSON字符串中。 有什么办法可以代替这个或者其他的解决方案吗?
问题内容: 我在面向对象的编程类中为小行星游戏创建了一个小行星字段,但收到非法字符错误:“ \ u200b”。该问题似乎在第12行上发生。(import java.awt.Point;与公共类Asteroid之间的行扩展了PolyBlob) 问题答案: 是Unicode中的“零宽度空间”。 您应该删除第12行(空白行),保存文件,重新添加空白行并再次保存。使用简单的文本编辑器。 如果不能解决问题,
问题内容: 我正在尝试执行JSONObject请求: 我无法编译项目,因为我收到了参数的语法错误: 错误:(144,9)错误:非法字符:’\ u2028’ 我该如何解决? 问题答案: 好吧,只是删除所有字符并再次重写它们会有所帮助。很疯狂..
转码 Stylus可以字符转码。这可以让字符变成标识符,或是渲染成字面量。 例如: body padding 1 \+ 2 编译成: body { padding: 1 + 2; } 注意Stylus中/当作为属性使用的时候需要用括号括起来: body font 14px/1.4 font (14px/1.4) 生成: body { font: 14px/1.4; font
字符编码是一种将字节转换为字符的方法。 要验证或显示HTML文档,程序必须选择字符编码。 HTML 5作者有三种设置字符编码的方法 - HTTP Content-Type标头 如果您正在编写cgi或类似的程序,那么您将使用HTTP Content-Type标头来设置任何字符编码。 以下是一个简单的例子 - print "Content-Type: text/html; charset=utf-8\
嘿,我遇到了一个关于与jackson反序列化的问题,这里是我尝试过的和我得到的错误。 错误:com。fasterxml。杰克逊。果心JsonParseException:意外字符('}'(代码125)):应以双引号开始字段名 Java代码 我的JSON