我有一个SOAP服务,如果我为XML元素指定了错误的输入,请求和响应按预期工作,输入良好
在请求正文中:
...
<ns:myIntegerElement>asdf</ns:myIntegerElement>
...
Run Code Online (Sandbox Code Playgroud)
我的异常解析器被调用,这个解析器只是异常解析器的一个实现,因此它没有异常映射,只是抽象方法中的一些System.out
<bean id="exceptionResolver" class="com.mycompany.ws.MyExceptionResolver">
Run Code Online (Sandbox Code Playgroud)
但是,如果我发送的请求看起来更像这样:
...
<ns:myIntegSOMETHINGGOTTOTALLYMESSUP!!!ent>asdf</ns:myIntegerElement>
...
Run Code Online (Sandbox Code Playgroud)
我的解析器根本没有执行
我将log4j设置为具有根调试级别并查看此输出:
2010-08-09 10:30:01,900 [主题:http-8080-2] DEBUG [org.springframework.ws.transport.http.WebServiceMessageReceiverHandlerAdapter] - 接受传入[org.springframework.ws.transport.http.HttpServletConnection@c46dcf ]到[ http:// localhost:8080/myws/MyWebServices /] 错误:'元素类型"ns:MESSEDUPELEMENT"必须由匹配的结束标记""终止." 2010-08-09 10:30:01,920 [主题:http-8080-2] DEBUG [org.springframework.ws.transport.http.MessageDispatcherServlet] - 无法完成请求org.springframework.ws.soap.saaj.SaajSoapMessageException:无法访问信封:无法从给定来源创建信封:; 嵌套异常是com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl:无法从给定的源创建信封:org.springframework.ws.soap.saaj.support.SaajUtils.getSaajVersion(SaajUtils.java:162)at org .springframework.ws.soap.saaj.SaajSoapMessage.getImplementation(SaajSoapMessage.java:251)org.springframework.ws.soap.saaj.SaajSoapMessage.(SaajSoapMessage.java:位于org.springframework.ws.soap.saaj.support.SaajUtils.getSaajVersion的com.sun.xml.internal.messaging.saaj.soap.SOAPPartImpl.getEnvelope(SOAPPartImpl.java:122)中的createEnvelopeFromSource(SOAPPart1_1Impl.java:70)( SaajUtils.java:159)... 24更多引起:javax.xml.transform.TransformerException:org.xml.sax.SAXParseException:元素类型"smm:smm-aid"必须由匹配的结束标记终止" ".在com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:719)的com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl. java:313)在com.sun.xml的com.sun.xml.internal.messaging.saaj.util.transform.EfficientStreamingTransformer.transform(EfficientStreamingTransformer.java:393).internal.messaging.saaj.soap.EnvelopeFactory.createEnvelope(EnvelopeFactory.java:102)... 27更多引起:org.xml.sax.SAXParseException:元素类型"smm:smm-aid"必须由匹配终止结束标记"".at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1231)at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl $ JAXPSAXParser.parse(SAXParserImpl.java: 522)在com的com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:636)的org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:333) .sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:707)... 30更多 createEnvelope(EnvelopeFactory.java:102)... 27更多引起:org.xml.sax.SAXParseException:元素类型"smm:smm-aid"必须由匹配的结束标记""终止.at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1231)at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl $ JAXPSAXParser.parse(SAXParserImpl.java: 522)在com的com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:636)的org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:333) .sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:707)... 30更多 createEnvelope(EnvelopeFactory.java:102)... 27更多引起:org.xml.sax.SAXParseException:元素类型"smm:smm-aid"必须由匹配的结束标记""终止.at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1231)at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl $ JAXPSAXParser.parse(SAXParserImpl.java: 522)在com的com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:636)的org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:333) .sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:707)... 30更多 元素类型"smm:smm-aid"必须由匹配的结束标记""终止.at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1231)at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl $ JAXPSAXParser.parse(SAXParserImpl.java: 522)在com的com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:636)的org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:333) .sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:707)... 30更多 元素类型"smm:smm-aid"必须由匹配的结束标记""终止.at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1231)at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl $ JAXPSAXParser.parse(SAXParserImpl.java: …
我正在使用Java EE 6和JSF-2.0构建Java Web应用程序,使用持久性API进行所有数据库操作.
后端是MySQL,但是我在EJB-QL中使用了EntityManager函数和命名查询来进行所有操作.在这种情况下,SQL注入攻击是否可行?
我在尝试保存时收到错误"无法刷新行,因为父项丢失".这是我的代码
abstract class Webapp_Model_Resource_Db_Table_Abstract
extends Zend_Db_Table_Abstract
{
/**
* Save a row to the database
*
*
* @param array $info The data to insert/update
* @param Zend_DB_Table_Row $row Optional The row to use
* @return mixed The primary key
*/
public function saveRow($info, $row = null)
{
if (null === $row) {
$row = $this->createRow();
}
$columns = $this->info('cols');
foreach ($columns as $column) {
if (array_key_exists($column, $info)) {
$row->$column = $info[$column];
}
}
return $row->save();
}
}
Run Code Online (Sandbox Code Playgroud)
当我调用saveRow()方法时,我传入$ _POST值($ …
我有一个相当简单的php/soap标题问题.
这就是我需要的.
<ns1:Identity token="123456789"></ns1:Identity>
Run Code Online (Sandbox Code Playgroud)
这就是我得到的......
<ns1:Identity><item><key>token</key><value>123456789</value></item></ns1:Identity>
Run Code Online (Sandbox Code Playgroud)
使用此代码...
$headers[] = new SoapHeader('http://qpricer.com/Services/Pricing','Identity',array('token'=> '123456789'));
$client->__setSoapHeaders($headers);
Run Code Online (Sandbox Code Playgroud)
使用soapui,我已将问题缩小到此处.
我如何从第二个到第一个?
非常感谢您的帮助,感谢您的时间.
我必须编写一个删除脚本来删除数据库表中的行.但是,该表有很多子表(外键),那些子表也有子表.
还有所有的关系外键,我想(先叶表了依赖图)利用这些信息获取表的列表,我不得不删除,以正确的顺序.
如何以正确的顺序获取给定表的子表列表?
这里是我的困境:我有两种类型的语义完全不同的路线,并应该去不同的控制器.
ny/new-york/brooklyn/cleaners # should go to a list of cleaners for a neighborhood
ny/new-york/cleaners/mrclean # should go to an individual cleaner's page
Run Code Online (Sandbox Code Playgroud)
请注意,这里的"brooklyn"和"cleaners"仅仅是示例.该应用程序有许多服务类型(例如"清洁")和许多邻域,因此不可能将列表硬编码到正则表达式中并使用它来区分这两个路径.
是否有可能在路由决策中涉及访问ActiveRecord模型的任意方法?我正在使用Rails 2.3.8.
我在Python中有一个字典,其中键是路径名.例如:
dict["/A"] = 0
dict["/A/B"] = 1
dict["/A/C"] = 1
dict["/X"] = 10
dict["/X/Y"] = 11
Run Code Online (Sandbox Code Playgroud)
我想知道,给出任何关键字打印所有"子路径"的好方法是什么.
例如,给定一个名为"print_dict_path"的函数来执行此操作,类似于
print_dict_path("/A")
Run Code Online (Sandbox Code Playgroud)
要么
print_dict_path("/A/B")
Run Code Online (Sandbox Code Playgroud)
会打印出类似的东西:
"B" = 1
"C" = 1
Run Code Online (Sandbox Code Playgroud)
我能想到的唯一方法就是使用正则表达式并浏览整个字典,但我不确定这是否是最好的方法(我也不熟悉正则表达式).
谢谢你的帮助.
我正在深入iOS开发,正在构建自己的闹钟应用程序,以熟悉平台和SDK.我目前正在学习的其中一个API是Local Notifications API,我认为它与Apple在其Clock应用程序中用于实现警报的API相同.
我不明白的是他们如何实现他们的"贪睡"功能.据我了解,本地通知允许您向用户显示一个警报框,当您的应用程序未在前台运行时,该警告框最多有两个按钮,一个按钮用于解除警报,一个按钮用于将用户带到您的应用程序.然而,在Apple的Clock应用程序中,用户会看到一个带有两个按钮的警告框,一个用于关闭警报的按钮和一个用于"暂停"的按钮,并在不启动Clock应用程序的情况下重新安排警报.我的问题是......
当用户点击"暂停"按钮时,您如何认为Apple在不启动时钟应用程序的情况下重新安排警报的本地通知?您是否认为他们使用自己的私有API来规避仅允许两种选择的本地通知的限制?或者你认为他们正在启动时钟应用程序重新安排本地通知,他们只是不显示应用程序启动和退出?
文档说明本地通知的"alertAction"属性是警告框右侧按钮和锁定屏幕滑块上显示的文本.但是,在Apple的Clock应用程序中,"Snooze"文本是警告框中的左键,也不是Slider栏文本.为什么倒退?
非常感谢你的想法!
我正在尝试为drupal博客制作一个自定义主题,我希望搜索框出现在标题中.为此,我将以下代码放在page.tpl.php模板文件中:*
<?php if ($search_box): ?>
<div id="search-box"><?php print $search_box; ?></div>
<?php else: ?>
<h2>Pas de search box</h2>
<?php endif; ?>
Run Code Online (Sandbox Code Playgroud)
但该死的东西不会出现.我做了一些研究谷歌,并检查了搜索模块admin/build/modules和admin/build/themes/settings/mytheme,以及增加的搜索形式在标题中admin/build/block/list/mytheme.我错过了什么,或者我做错了什么?因为它仍然不起作用,并开始惹恼我......
谢谢.
来自法国的问候;)
themes drupal content-management-system drupal-themes drupal-theming
soap ×2
clock ×1
dictionary ×1
drupal ×1
heroku ×1
ios ×1
ipad ×1
iphone ×1
java ×1
jpa ×1
jpql ×1
nusoap ×1
orm ×1
paperclip ×1
php ×1
python ×1
soap-client ×1
soapheader ×1
spring-ws ×1
sql-server ×1
t-sql ×1
themes ×1
unzip ×1
url-routing ×1
web-services ×1