我通过 eclipse 生成了一个 axis2 web 服务客户端。
我总是在执行时遇到这个错误。
org.apache.axis2.AxisFault: javax.xml.stream.XMLStreamException: element text content may not contain START_ELEMENT
在我的wsdl中
<xsd:element name="transactionError" type="transactionError"/>
<xsd:complexType name="transactionError">
<xsd:all>
<xsd:element name="request_id" type="xsd:string"/>
<xsd:element name="trans_id" nillable="true" type="string"/>
<xsd:element name="date_time" nillable="true" type="string"/>
<xsd:element name="error_code" nillable="true" type="int"/>
<xsd:element name="error_text" nillable="true" type="string"/>
</xsd:all>
</xsd:complexType>
在调试调用时我可以看到响应是
<n:transactionError xmlns:n="http://www.xxxx.com/wsdl/xxxxx.wsdl">
<transactionError>
<request_id>Rxxxxxx</request_id>
<date_time>2016-02-06 12:02:53</date_time>
<error_code>-12</error_code>
<error_text>xxxxxxxxxxxxxxxx</error_text>
</transactionError></n:transactionError>
关于 java.lang.String content = reader.getElementText();
抛出异常
javax.xml.stream.XMLStreamException: element text content may not contain START_ELEMENT
在具有这些属性的阅读器上:
reader.currentNode = <transactionError><request_id>Rxxxxxx</request_id><date_time>2016-02-06 12:02:53</date_time><error_code>-12</error_code><error_text>xxxxxxxxx</error_text></transactionError>
reader.namespaceCount = -1
知道问题出在哪里吗?
最佳答案
您只能调用 XMLStreamReader.getElementText()包含纯文本内容的元素上的方法。可以为 <request_id> 调用此方法, <date_time> , <error_code>或 <error_text>因为这些元素的子元素只是文本,但您不能在 <transactionError> 上使用此方法因为它有其他元素作为 child 。
XMLStreamReader.getElementText() 的 Javadoc包含详细的伪代码,显示该方法如何计算 String它返回以及在什么条件下它会抛出 XMLStreamException .如果当前元素有任何子元素,此方法将抛出异常。
如果 Axis2 生成此代码,我会建议检查他们是否已在更新的版本中修复此问题并打开 bug report如果它仍然是一个问题,反对他们在 Apache 中的项目。
关于java - axis2 导致 javax.xml.stream.XMLStreamException : element text content may not contain START_ELEMENT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35239827/
这里有一个很好的答案解释了如何在Ruby中下载文件而不将其加载到内存中:https://stackoverflow.com/a/29743394/4852737require'open-uri'download=open('http://example.com/image.png')IO.copy_stream(download,'~/image.png')我如何验证下载文件的IO.copy_stream调用是否真的成功——这意味着下载的文件与我打算下载的文件完全相同,而不是下载一半的损坏文件?documentation说IO.copy_stream返回它复制的字节数,但是当我还没有下
问题你能用thin吗?与ActionController::Live实现服务器端事件(SSE)和长轮询?如果是,怎么办?上下文虽然标题是HowtogetRails4ActionController::LivestreamingworkingwithThinandRuby2?AndhowdoThinandPumascalewithlivestreaming?的重复,OP通过问两个问题混淆了水域,这个问题从未得到回答。许多其他帖子建议您可以使用thin对于服务器端事件(sse),如果您通过execthinstart--threaded启动它:DoesHerokusupportActionC
因此,我们的页面中有以下代码:OnOff这是2个单选按钮。'开和关'。“关闭”是默认值。使用Watir-webdriver和Ruby,我们想要选择“打开”单选按钮。我们这样做:browser.radio(:id=>"HasRegistration_true").set但在这样做时,我们得到以下错误:`WebElement.clickElement':Elementcannotbescrolledintoview:[objectHTMLInputElement](Selenium::WebDriver::Error::MoveTargetOutOfBoundsError)我们知道Sele
我有一个Rails应用程序,在开发模式下运行(使用sqlite数据库)。该应用程序的目的是允许用户通过Java客户端上传文件。如果用户要上传一个文件夹,会递归上传里面的所有文件。如果用户要上传文件,文件将正常上传。这是我收到的错误:IOErrorinUploadedFilesController#newclosedstream这是应用程序跟踪:/usr/lib/ruby/1.8/tempfile.rb:167:in`close'/usr/lib/ruby/1.8/tempfile.rb:167:in`callback'/var/lib/gems/1.8/gems/activesuppo
Two-StreamConvolutionalNetworksforActionRecognitioninVideos双流网络论文精读论文:Two-StreamConvolutionalNetworksforActionRecognitioninVideos链接:https://arxiv.org/abs/1406.2199本文是深度学习应用在视频分类领域的开山之作,双流网络的意思就是使用了两个卷积神经网络,一个是SpatialstreamConvNet,一个是TemporalstreamConvNet。此前的研究者在将卷积神经网络直接应用在视频分类中时,效果并不好。作者认为可能是因为卷积神经
我们目前正在将我们的Rails应用程序升级到Rails4。在3.2中,我们的Cucumber(1.3.17)测试运行良好(如果可悲地缓慢),使用Capybara(2.4.4)、Poltergeist(1.5.1)和PhantomJS(1.9.8)引擎盖下。但是在4.0.12和4.1.8中,我们在运行中的随机点得到一个streamclosed(IOError):streamclosed(IOError)/var/lib/jenkins/.rvm/gems/ruby-2.1.5@tallama-integration/gems/cucumber-1.3.17/lib/cucumber/fo
我正在试验Rails4ActionController::Live和ServerSentEvents。我正在使用MRI2.0.0和Puma。就我所见,每个连接的客户端都与服务器保持事件连接。我想知道是否可以在不保持所有响应流运行的情况下利用SSE。Puma使用线程管理多个连接,我想当前连接数是有限制的。如果我想支持成千上万的客户注册到我的Rails应用程序以参加SSE事件的真实场景怎么办?有没有例子?此外,我通常在nginx反向代理后面运行Rails应用程序服务器。它需要任何特定的设置吗? 最佳答案 SSE的构建方式是客户端打开到服
一、使用Yarn作为项目的包管理工具1、Yarn是什么?“Yarn是由Facebook、Google、Exponent和Tilde联合推出了一个新的JS包管理工具,正如官方文档中写的,Yarn是为了弥补npm的一些缺陷而出现的。”这句话让我想起了使用npm时的坑:npminstall的时候非常慢,特别是新的项目拉下来要等半天,删除node_modules,重新install的时候依旧如此。同一个项目,安装的时候无法保持一致性。由于package.json文件中版本号的特点,下面三个版本号在安装的时候代表的含义不同。 "5.0.3" 表示:安装指定的5.0.3版本"~5.0.3" 表示:安
我有以下数组:array=[{"email"=>"test@test.com","name"=>"Test"},{"email"=>"testA@test.com","name"=>"TestA"},{"name"=>"TestB","email"=>"testB@test.com"},{"email"=>"testC@test.com","name"=>"TestC"},{"name"=>"TestD","email"=>"testD@test.com"},{"email"=>"testE@test.com"},{"name"=>"TestF","email"=>"testF@tes
一、概览实现效果如下:二、项目环境1、nodejs版本node-vv16.16.02、npm版本npm-vnpmWARNconfigglobal`--global`,`--local`aredeprecated.Use`--location=global`instead.8.15.03、vue脚手架版本vue-V@vue/cli5.0.8三、创建vue项目1、创建名为vuetest的项目vuecreatevuetest选择Default([Vue2]babel,eslint) 2、切换到项目目录,启动项目cdvuetestnpmrunserve 3、使用浏览器预览 http://localh