- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们已经构建了一个 SOAP 服务来接收请求,但是给出的响应需要包含一个附加值,我们不知道如何添加它。
我们需要添加 xmlns="http://some-url.co.uk/"
进入这个: <SOAP-ENV:PrintLocationResponse>
所以它读起来像这样 <SOAP-ENV:PrintLocationResponse xmlns="http://some-url.co.uk/">
SOAP 服务收到此请求:
<?xml version="1.0" encoding="UTF-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<PrintLocation xmlns="http://some-url.co.uk/" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<alertMsg>
[ some message goes here]
</alertMsg>
</PrintLocation>
</s:Body>
</s:Envelope>
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<SOAP-ENV:PrintLocationResponse>
<PrintLocationResult>
Message contents goes here
</PrintLocationResult>
</SOAP-ENV:PrintLocationResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
xmlns="http://some-url.co.uk/"
对这部分回复:
<SOAP-ENV:PrintLocationResponse>
以便响应如下:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<SOAP-ENV:PrintLocationResponse xmlns="http://some-url.co.uk/">
<PrintLocationResult>
Message contents goes here
</PrintLocationResult>
</SOAP-ENV:PrintLocationResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
xmlns="http://some-url.co.uk/"
进入上述回复。
public function indexAction(Request $request)
{
$soapServer = new \SoapServer('wsdl/hello.wsdl');
$soapServer->setObject($this->get('hello_service'));
$response = new Response();
$response->headers->set('Content-Type', 'text/xml; charset=ISO-8859-1');
ob_start();
$soapServer->handle();
return $response;
}
$soapServer = new \SoapServer('wsdl/hello.wsdl');
调用
你好.wsdl 看起来像这样:
<?xml version="1.0" encoding="ISO-8859-1"?>
<wsdl:definitions
xmlns:SOAP-ENV = "http://www.w3.org/2001/12/soap-envelope"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>
<wsdl:message name="helloIn">
<part name="alertMsg" type="xsd:string" />
</wsdl:message>
<wsdl:message name="helloOut">
<part name="PrintLocationResult" type="xsd:string" />
</wsdl:message>
<wsdl:portType name="hellowsdlPortType">
<wsdl:operation name="PrintLocation">
<wsdl:input message="tns:helloIn"/>
<wsdl:output message="tns:helloOut"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="hellowsdlBinding" type="tns:hellowsdlPortType">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="PrintLocation">
<soap:operation soapAction="http://some-url.co.uk/PrintLocation" style="rpc"/>
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="hellowsdl">
<wsdl:port name="hellowsdlPort" binding="tns:hellowsdlBinding">
<soap:address location="http://backoffice.system/soap" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
$soapServer->setObject($this->get('hello_service'));
调用 HelloService.php,它看起来像这样:
class HelloService
{
/**
* @var EntityManager
*/
private $entityManager;
public function __construct(EntityManager $entityManager)
{
$this->entityManager = $entityManager;
}
public function PrintLocation($msg)
{
$log = new TempIressMsgThree($msg);
$xml = simplexml_load_string($log->getMsg());
$json = json_encode($xml);
$array = json_decode($json,TRUE);
$xml='<?xml version="1.0" encoding="UTF-8"?>
<message xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.origoservices.com">
<m_control>
Response message contents goes here.
</m_control>
</message>';
return $xml;
}
xmlns="http://some-url.co.uk/"
进入这个:
<SOAP-ENV:PrintLocationResponse>
所以它读起来像这样
<SOAP-ENV:PrintLocationResponse xmlns="http://some-url.co.uk/">
最佳答案
header("Content-type: text/xml");
$string = <<<XML
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<SOAP-ENV:PrintLocationResponse>
<PrintLocationResult>
Message contents goes here
</PrintLocationResult>
</SOAP-ENV:PrintLocationResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
XML;
$content = simplexml_load_string($string,'SimpleXMLElement',LIBXML_NONET);
foreach($content->getDocNamespaces(TRUE) as $shortcut=>$namespace){
$content->registerXPathNamespace($shortcut,$namespace );
}
$PLR = $content[0]->xpath('//SOAP-ENV:PrintLocationResponse');
foreach($PLR as $response){
$response->addAttribute('xmlns', 'http://some-url.co.uk/');
}
echo $content[0]->asXML();
关于php - 将 xmlns 值添加到 Symfony2 SoapServer 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59734739/
什么是xmlns:android、xmlns:app、xmlns:tools,它们之间的基本区别是什么?什么时候应该使用它? 最佳答案 对于 android 和 app 命名空间,使用 this li
有人要求我从 http 端点提供以下 XML 文档,完全像:- ... 但是 Web API 吐出 ... 我用谷歌搜索并尝试了各种修复但无济于事
有没有办法声明这样的命名空间: xmlns:views="clr-namespace:xxx.xxx.Views" xmlns:someNestedViews="views.SomeNestedVie
这个工作正常。 curl -H 'Content-Type: application/xml' -d " " https://dashboard.onsip.com/http-bind 这个返回一
对于以下 XML 片段: xmlns、xmlns:xsi 和 xsi:schemaLocation 属性的确切含义是什么?它们有什么关系? : 的作用是什么? xsi:schemaLocation=
最佳答案 它提示属性 tools:context=".MainActivity"那是 的一部分标签。它不知道 tools: 是什么前缀表示。 您需要添加 xmlns:too
我在 C# Windows 窗体应用程序中使用 .Net XmlSerializer 将对象序列化为 XML 文档。 根元素应该看起来像这样: 在分部类中(加入由 xsd.exe 创建的分
太气人了,简直说不出话来。我已经使用 SimpleXML 组装了一个 RSS 提要,但它正在使用现在的 namespace 。但是,输出时,它不断尝试在根节点中声明 xmlns:xmlns=""。尽管
假设我的 Web 服务发出带有“xmlns”、“xmlns:xsi”和“xsi:schemaLocation”的 XML 设置为占位符,这些占位符不是有效的 URI(例如“blahblahblah”)
我在这里有一个关于 XML 的基本问题。声明元素的 xmlns 时属性,使用 http://www.w3.org/2001/XMLSchema 是否合法? ?并在声明 xmlns:xsi 时属性,使用
我需要从 XSD 生成的 Java 类生成 XML 文件。 这些 Java 类中的某些字段作为 Object 而不是任何具体类型,因此在生成的 XML 文件中保证有 xsi:type 属性,这很好。
这个问题已经有答案了: NLS missing message: CANNOT_FIND_FACELET_TAGLIB (3 个回答) 已关闭 8 年前。 我正在尝试在 jsf 中创建自定义标签,这是
我尝试通过 LINQ to XML 创建 GPX XML 文档。 除了向文档添加 xmlns、xmlns:xsi 属性外,一切都很好。通过尝试不同的方式,我得到了不同的异常。 我的代码: XDocum
有没有人遇到这个“xmlns”命名空间问题(见下文)?我无法再构建我的工作项目。 起初我以为这是我的 git 分支,所以我切换到 origin develop 和 master 分支 - 问题仍然存在
在使用 JAXB 时,我想在使用泛型时从我的 XML 元素中删除多余的命名空间/类型。我该怎么做或者我做错了什么?我想使用泛型,这样我只需编写一次代码块。 示例代码: public static vo
我喜欢将页面作为 HTML 4.01 提供,因为 XHTML 在某些浏览器中并没有真正被视为 XHTML,但是 Facebook's OpenGraph meta tags要求: 但是由于页面的 D
我需要复制一个 xml header : 用我的代码: 'Export the object to XML Dim writer As New XmlSerializ
将 WCF Restful 服务与 XmlSerializer 结合使用,我得到以下响应。 0010327457 false
我的要求是转换以下 xml 文件: 10122 LE NAME A0000000A 到新的 xml 文件 :( 所需的输出: )
众所周知,ConstraintLayout是目前android开发中最流行、最高效的布局。但是要使用它的属性,您必须先导入“xmlns:app”。当您需要使用 ConstraintLayout 创建许
我是一名优秀的程序员,十分优秀!