我正在尝试向asmx soap web服务发送一些数据,一直在尝试,但确实成功发送了。我得到的错误是:
08-13 20:51:12.571:带系统。err(8885):SoapFault-faultcode:“soap:Server”faultstring:“服务器无法处理请求---
以下是web服务URL:http://87.248.129.182:8090/PostPhotoInfo.asmx
以及代码:
private final String NAMESPACE = "http://tempuri.org/";
private final String URL = "http://87.248.129.182:8090/PostPhotoInfo.asmx";
private final String SOAP_ACTION = "http://tempuri.org/PostPhotoInfo";
private final String METHOD_NAME = "PostPhotoInfo";
public void call_asmx() {
//Create request
// photoArray
SoapObject request = new SoapObject(URL, METHOD_NAME);
//SoapObject request2 = new SoapObject(NAMESPACE, "photoArray");
SoapObject IMG = new SoapObject(URL, "PhotoInfo");
PropertyInfo _date = new PropertyInfo();
_date.setName("Date");
_date.setValue("2016-08-12 15:45:00");
_date.setType(String.class);
PropertyInfo _Latitude = new PropertyInfo();
_Latitude.setName("Latitude");
_Latitude.setValue("12.5245123");
_Latitude.setType(double.class);
PropertyInfo _longtitude = new PropertyInfo();
_longtitude.setName("Longitude");
_longtitude.setValue("32.45345");
_longtitude.setType(double.class);
PropertyInfo _CardID = new PropertyInfo();
_CardID.setName("CardID");
_CardID.setValue(14);
_CardID.setType(int.class);
PropertyInfo _ParkingNo = new PropertyInfo();
_ParkingNo.setName("ParkingNo");
_ParkingNo.setValue(12);
_ParkingNo.setType(int.class);
PropertyInfo _Image = new PropertyInfo();
_Image.setName("Image");
_Image.setValue("<< IMAGE DATA >>>");
_Image.setType(Base64.class);
IMG.addProperty(_date);
IMG.addProperty(_Latitude);
IMG.addProperty(_longtitude);
IMG.addProperty(_CardID);
IMG.addProperty(_ParkingNo);
IMG.addProperty(_Image);
request.addSoapObject(IMG);
//Create envelope
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.dotNet = true;
//Set output SOAP object
envelope.setOutputSoapObject(request);
//Create HTTP call object
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
try {
//Invole web service
androidHttpTransport.call(SOAP_ACTION, envelope);
//Get the response
SoapPrimitive response = (SoapPrimitive) envelope.getResponse();
//Assign it to fahren static variable
fahren = response.toString();
} catch (Exception e) {
e.printStackTrace();
//Toast.makeText(getApplicationContext(), e.getMessage(), Toast.LENGTH_SHORT).show();
}
}
任何提示都将不胜感激。
代码未设置NAMESPACE
并且未添加photoArray
尝试以下代码:
private void callWebservice() {
String NAMESPACE = "http://tempuri.org/";
String URL = "http://87.248.129.182:8090/PostPhotoInfo.asmx";
String SOAP_ACTION = "http://tempuri.org/PostPhotoInfo";
String METHOD_NAME = "PostPhotoInfo";
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
SoapObject photoArray = new SoapObject("", "photoArray");
SoapObject photoInfo = new SoapObject("", "PhotoInfo");
PropertyInfo date = new PropertyInfo();
date.setName("Date");
date.setValue("2016-08-12 15:45:00");
date.setType(String.class);
PropertyInfo latitude = new PropertyInfo();
latitude.setName("Latitude");
latitude.setValue("12.5245123");
latitude.setType(String.class);
PropertyInfo longtitude = new PropertyInfo();
longtitude.setName("Longitude");
longtitude.setValue("32.45345");
longtitude.setType(String.class);
PropertyInfo cardID = new PropertyInfo();
cardID.setName("CardID");
cardID.setValue("18");
cardID.setType(String.class);
PropertyInfo parkingNo = new PropertyInfo();
parkingNo.setName("ParkingNo");
parkingNo.setValue("20");
parkingNo.setType(String.class);
PropertyInfo image = new PropertyInfo();
image.setName("Image");
image.setValue("<Base64 String>");
image.setType(String.class);
photoInfo.addProperty(date);
photoInfo.addProperty(latitude);
photoInfo.addProperty(longtitude);
photoInfo.addProperty(cardID);
photoInfo.addProperty(parkingNo);
photoInfo.addProperty(image);
photoArray.addSoapObject(photoInfo);
request.addSoapObject(photoArray);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.setAddAdornments(false);
envelope.dotNet = true;
envelope.implicitTypes = true;
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
try {
androidHttpTransport.call(SOAP_ACTION, envelope);
SoapObject response = (SoapObject) envelope.getResponse();
String value = response.toString();
} catch (Exception e) {
e.printStackTrace();
}
}
我在visual studio中创建了一个dll(我没有使用任何win\u API函数)。我想从我生成的android.apk文件中调用这个dlll,但在运行这个文件时,我遇到了这个错误。 "java.lang.无法从加载器加载Testdll1dalvik.system.PathClassLoader[DexPathList[[zip file"/data/app/], nativeLibrary
问题内容: 我正在构建一个将从命令行调用的Spring Boot应用程序。我将一些参数传递给应用程序,但是在从此类中调用服务时遇到问题: 我正在尝试从内部调用方法,但出现错误: 问题答案: 您可以创建一个实现CommandLineRunner的类,并在应用启动后调用该类 您可以在这里获得更多信息
问题内容: 我在Android应用中使用Twitter的Fabric SDK 。我需要获取Twitter用户的推文和状态消息。我还没有找到任何示例,有关此文档的说明也不太清楚,所以我提出了一个新问题。有人可以提供如何使用该类的示例吗? 问题答案: Twitter Kit可以进行API调用。官方文档在这里:https : //dev.twitter.com/twitter- kit/android/
问题内容: 我想从Java应用程序调用Servlet。问题是,该调用似乎未到达Servlet。我没有收到任何错误,但是没有到达Servlet中的第一个输出“ doPost”。如果我在Web浏览器中打开URL,我当然会得到如下错误:不支持GET等。但是至少我知道发生了一些错误。 我使用以下代码(ActionPackage类仅包含一个Vector参数,并且可序列化): Java应用程序: Servle
我不知道是怎么回事?? 任何人都可以提供一个数据通道的工作示例,将非常感谢。
我有一个通过ClickOnce (VS 2012)部署到文件共享的windows应用程序。它被配置为一个在线应用程序(没有安装在客户端)。我可以通过客户机运行这个应用程序,只需指向文件共享并双击该文件。我遇到的问题是在客户端(客户端实际上是一个服务器,Windows Server 2008)上运行这个任务。但是,如果我创建一个调用ClickOnce应用程序的批处理文件,任务计划程序可以成功调用该批