我很久以前创建了一个WFC服务,当时我正在从Android应用程序上传到Google Play中访问它。一切都很好,但我突然收到谷歌的消息,告诉我他们从Play Store中删除了我的应用程序。长话短说,他们说:
您的应用程序正在将用户信息上传到http://tempuri.org
为了从我的Android应用程序到WCF服务进行通信,我使用了很久以前在互联网上找到的代码。我对这一切不是很了解,但它是正确的。出于某种原因;tempuri.org";这与微软有关。我试图从我的代码中删除那个网址,但没有成功。
这就是我访问服务的方式:
String METHOD_NAME = "HelloWorld";
String SOAP_ACTION = "http://tempuri.org/IService1/" + METHOD_NAME;
String NAMESPACE = "http://tempuri.org/";
int SOAP_VERSION = SoapEnvelope.VER11;
String URL = "https://MyOwnUrl.com:444/Service1.svc";
try {
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
request.addProperty("OneParameter", "This is a text parameter");
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SOAP_VERSION);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
androidHttpTransport.call(SOAP_ACTION, envelope);
Object result = envelope.getResponse();
String resultData = result.toString();
return resultData; <-- This works correctly, but why do I need tempuri.org?
} catch (IOException e) {
} catch (XmlPullParserException e) {
}
这是正确的,但为什么我需要tempuri.org?
Tempuri.org是Microsoft默认情况下在WCF服务中设置的命名空间。然后,如果您在不更改web服务的情况下公开它,您将看到客户端需要使用该名称空间来访问它。
因此,将其更改为另一个命名空间总是很好的。我不明白为什么IDE不要求你输入名称,而是自动输入。你必须手动操作。我遵循了这里的指示。如果按照这些说明进行操作,则可以重命名名称空间。在我的情况下,我不必更改最后一个名为";装订";。我不知道原因,但如果更改绑定,则什么都不起作用。
我希望我能更改我的代码,上传到Google Play,然后再次被接受。