我是WCF,REST等的新手.我正在尝试编写服务和客户端.我想将xml作为字符串传递给服务并获得一些响应.
我试图将正文中的xml传递给POST方法,但是当我运行我的客户端时,它只是挂起.
当我更改服务以接受参数作为uri的一部分时,它工作正常.(当我将UriTemplate从"getString"更改为"getString/{xmlString}"并传递字符串参数时).
我正在粘贴下面的代码.
[ServiceContract]
public interface IXMLService
{
[WebInvoke(Method = "POST", UriTemplate = "getString", BodyStyle=WebMessageBodyStyle.WrappedRequest,
RequestFormat = WebMessageFormat.Xml, ResponseFormat = WebMessageFormat.Xml)]
[OperationContract]
string GetXml(string xmlstring);
}
Run Code Online (Sandbox Code Playgroud)
//实施代码
public class XMLService : IXMLService
{
public string GetXml(string xmlstring)
{
return "got 1";
}
}
Run Code Online (Sandbox Code Playgroud)
string xmlDoc1="<Name>";
xmlDoc1 = "<FirstName>First</FirstName>";
xmlDoc1 += "<LastName>Last</LastName>";
xmlDoc1 += "</Name>";
HttpWebRequest request1 = (HttpWebRequest)WebRequest.Create(@"http://localhost:3518/XMLService/XMLService.svc/getstring");
request1.Method = "POST";
request1.ContentType = "application/xml";
byte[] bytes = Encoding.UTF8.GetBytes(xmlDoc1);
request1.GetRequestStream().Write(bytes, 0, bytes.Length);
Stream resp = ((HttpWebResponse)request1.GetResponse()).GetResponseStream();
StreamReader rdr …Run Code Online (Sandbox Code Playgroud) 我尝试从Java 7迁移到Java 8,所以我已经为Android N和所有工具安装了新的sdk.我按照开发者指南在android studio中使用Java 8,但是当我尝试编译apk时,我有一个无限的Gradle Build Running ..我已经尝试重启Android Studio,但是1小时后,Gradle Build运行它还没有完成.在Windows任务管理器中,我看到进程java.exe需要大量内存,CPU占90%.
有人已经遇到过这个问题吗?
谢谢.
编辑:
我有以下版本:
Java version : 1.8.0_92
Gradle version : 2.1.2
Android Studio version : 2.1.2
compileSdkVersion : 24
buildToolsVersion : 24
targetSdkVersion : 24
Run Code Online (Sandbox Code Playgroud)
EDIT2:
我尝试使用Android Studio 2.2并在开始构建后5分钟,我有这个错误:
Error:Execution failed for task ':app:compileProductionDebugJavaWithJack'.
> java.lang.RuntimeException: java.lang.OutOfMemoryError: GC overhead limit exceeded
Run Code Online (Sandbox Code Playgroud)