我的一位客户最近要求我将他的网络服务与一些外部公司API集成。我必须在PHP中添加集成控制器,因为这是他的表单处理方式。
公司为我提供了:
1)Web服务的WSDL定义,
2)一个名为contract.xml的例子,
3)两个用于数据验证的.xsd文件,
4)三个.xml示例(soap请求,response-true和response-false)
我从来没有做过这样的事情,我想知道是否有任何尝试,如果有人能提供一些让我开始思考自己的知识,我将非常感激关于这个问题的方法。
架构是什么样的:设置'空白'请求为PHP @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mOptions = new MqttConnectOptions();
mOptions.setCleanSession(true);
mOptions.setUserName(username);
mOptions.setPassword(password.toCharArray());
mClient = new MqttAndroidClient(this, MQTT_HOST, clientId);
}
@Override
public void onResume() {
super.onResume();
connect();
}
@Override
public void onPause() {
super.onPause();
disconnect();
}
private void connect() {
try {
mClient.connect(mOptions, null, mConnectCallback);
} catch (Exception ex) {
ex.printStackTrace();
}
}
private void disconnect() {
try {
mClient.disconnect();
} catch (Exception ex) {
ex.printStackTrace();
}
mClient.unregisterResources();
}
private void subscribe() {
try {
IMqttToken subToken = mClient.subscribe(TOPIC, 1, null, mSubscribeCallback, mMessageListener);
} catch (Exception ex) {
ex.printStackTrace();
}
}
private void publish() {
try {
mClient.publish(topic, new MqttMessage(STR.getBytes()), null, mPublishCallback);
} catch (Exception ex) {
ex.printStackTrace();
}
}
并使用表单输入更新它将是一个很好的解决方案?或者我是否应该尝试更多地了解XML解析并采用这种方式?
答案 0 :(得分:1)
$ mySoapClient = new SoapClient(" path / to / your / wsdl.xml",array("在这里你应该写下需要你的肥皂服务的参数"));
也可能存在您可以使用
设置的用户凭据$soapClient = new SoapClient("https://soapserver.example.com/blahblah.asmx?wsdl");
// Prepare SoapHeader parameters
$sh_param = array(
'Username' => 'username',
'Password' => 'password');
$headers = new SoapHeader('http://soapserver.example.com/webservices', 'UserCredentials', $sh_param);
// Prepare Soap Client
$soapClient->__setSoapHeaders(array($headers));
连接后,您将使用$ soapClient对象来访问提供soap服务器的所有方法 像这样
$ soapClient-> someMethodThatProvideMySoapServer($ someParams);
这个方法someMethodThatProvideMySoapServer你在服务器中没有来自soap服务器,你可以使用它 您可以从这里学习更多细节 http://php.net/manual/en/book.soap.php http://php.net/manual/en/class.soapclient.php Creating a SOAP call using PHP with an XML body