这是一个非常独特的问题。所以我使用NuSoap与肥皂服务进行通信。一切都很好。我没有错误,但这里是奇怪的地方。该服务正在通过Soap UI正确提交,但不是我的代码:(
有一个XML字段:
<xs:element name="NameX" default="Yes" type="ns0:NameXType" minOccurs="0"/>
这是WSDL中的定义
<xs:simpleType name="NameXType">
<xs:restriction base="xs:string">
<xs:enumeration value=""/>
<xs:enumeration value="Yes"/>
</xs:restriction>
</xs:simpleType>
我假设上面的XML意味着它可以取值为“是”或“”(没有/ null)。
现在在我的代码中我这样做:
$result = $client->call('functionName',
array(
'API_Status' => 'None',
'AuthenticationInfo' => array(
'userName' => $username,
'password' => $password
),
'Category' => 'Application',
<!-- Problem Here -->
'NameX' => null,
<!-- Problem Here -->
'Customer_DB_ID' => 'XXX',
'Details' => 'External User Web Request',
'Group' => 'NHLBI-CBI-WEB_Support',
'Impact' => '4-Minor/Localize',
'Item' => $classify,
'Record_Type' => 'Support Request',
'Short_Description' => $subject,
'Status' => 'New',
'Type' => 'Website',
'Urgency' => '3-Medium',
'Work_Log' => $message,
), $namespace = 'urn:Service', $soapAction = 'localhost/soapAction', $style = 'document', $use = 'literal' );
所以说,问题在于,在我正在开发的表单的所有提交中,此NameX字段作为默认答案“是”继续进入。我正式说我迷路了,不知道怎么办。
现在很奇怪,这个NameX字段是一个测试字段。如果是,则只有应用程序的管理员才能看到提交。如果为null,则所有用户都可以看到它。
糟糕的是,我被指责为这个烂摊子。我不知道下一步该做什么。
以下是将NameX字段成功提交为“”的输出应该如何显示。:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:Service">
<soapenv:Header/>
<soapenv:Body>
<urn:Create>
<urn:AuthenticationInfo>
<urn:userName>username</urn:userName>
<urn:password>password</urn:password>
</urn:AuthenticationInfo>
<urn:Category>Application</urn:Category>
<!--Optional:-->
<urn:Customer_ID>12345</urn:Customer_ID>
<urn:Details>Test</urn:Details>
<urn:Group>Support</urn:Group>
<urn:Impact>None</urn:Impact>
<urn:Item>Test</urn:Item>
<urn:Record_Type>Support Request</urn:Record_Type>
<urn:Short_Description>Testing the short description</urn:Short_Description>
<urn:Status>New</urn:Status>
<!--THis is the field giving me issues:-->
<ns0:NameX/>
<!--THis is the field giving me issues:-->
<urn:Type>Website</urn:Type>
<urn:Urgency>3-Medium</urn:Urgency>
<urn:Work_Log>Test work notes...Hello Testing...New</urn:Work_Log>
</urn:Create>
</soapenv:Body>
</soapenv:Envelope>
感谢任何帮助。谢谢!我希望我没有遗漏任何东西。如果您需要更多代码,我可以帮您解决。
答案 0 :(得分:0)
所以我想出了修复!!!!!
我没有从URL调用,而是在本地保存了wsdl并删除了给我提问的字段。现在应用程序正在运行!!
我知道这是一个奇怪的问题,但我想我会尝试一下......