我试图反序列化这个简单的Web服务的响应
我使用以下代码:
WebRequest request = WebRequest.Create("http://inb374.jelastic.tsukaeru.net:8080/VodafoneDB/webresources/vodafone/04111111");
WebResponse ws = request.GetResponse();
XmlSerializer s = new XmlSerializer(typeof(string));
string reponse = (string)s.Deserialize(ws.GetResponseStream());
Run Code Online (Sandbox Code Playgroud) 我正在尝试部署名为"VodfoneContractsDB.war"的WAR文件.它是一个使用Netbean的"RESTful Web Service from Database"向导创建的简单Web服务.
"Vodafone"是我的数据库连接的名称.
我收到以下错误消息:
部署期间出错:准备应用程序时出现异常:资源无效:Vodafone__pm.有关更多详细信息,请参阅server.log.
这是日志文件:
[#|2012-10-01T09:23:35.542+0400|WARNING|glassfish3.1.2|org.apache.catalina.connector.Request|_ThreadID=119;_ThreadName=Thread-2;|PWC4011: Unable to set request character encoding to UTF-8 from context , because request parameters have already been read, or ServletRequest.getReader() has already been called|#]
[#|2012-10-01T09:23:36.052+0400|INFO|glassfish3.1.2|org.glassfish.admingui|_ThreadID=119;_ThreadName=Thread-2;|GUI deployment: uploadToTempfile|#]
[#|2012-10-01T09:23:36.052+0400|INFO|glassfish3.1.2|org.glassfish.admingui|_ThreadID=119;_ThreadName=Thread-2;|======= uploadFileName=VodfoneContractsDB.war|#]
[#|2012-10-01T09:23:36.567+0400|SEVERE|glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=121;_ThreadName=Thread-2;|Exception while invoking class org.glassfish.persistence.jpa.JPADeployer prepare method|#]
[#|2012-10-01T09:23:36.567+0400|SEVERE|glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=121;_ThreadName=Thread-2;|Exception while preparing the app|#]
[#|2012-10-01T09:23:36.568+0400|SEVERE|glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=121;_ThreadName=Thread-2;|Invalid resource : Vodafone__pm
java.lang.RuntimeException: Invalid resource : Vodafone__pm
at com.sun.enterprise.connectors.ConnectorRuntime.lookupDataSourceInDAS(ConnectorRuntime.java:540)
at com.sun.enterprise.connectors.ConnectorRuntime.lookupPMResource(ConnectorRuntime.java:469)
at org.glassfish.persistence.common.PersistenceHelper.lookupPMResource(PersistenceHelper.java:63)
at org.glassfish.persistence.jpa.ProviderContainerContractInfoBase.lookupDataSource(ProviderContainerContractInfoBase.java:71)
at org.glassfish.persistence.jpa.PersistenceUnitInfoImpl.<init>(PersistenceUnitInfoImpl.java:108)
at org.glassfish.persistence.jpa.PersistenceUnitLoader.loadPU(PersistenceUnitLoader.java:155)
at org.glassfish.persistence.jpa.PersistenceUnitLoader.<init>(PersistenceUnitLoader.java:120)
at org.glassfish.persistence.jpa.JPADeployer$1.visitPUD(JPADeployer.java:224)
at org.glassfish.persistence.jpa.JPADeployer$PersistenceUnitDescriptorIterator.iteratePUDs(JPADeployer.java:495)
at org.glassfish.persistence.jpa.JPADeployer.createEMFs(JPADeployer.java:233) …Run Code Online (Sandbox Code Playgroud) 例如,
string path = @"C:\User\Desktop\Drop\images\";
Run Code Online (Sandbox Code Playgroud)
我只需要得到 @"C:\User\Desktop\Drop\
这有什么简单的方法吗?
我想检查文件夹是否存在,如果没有,则创建它.但我不知道提供的路径是否有效.当路径无效时,会发生以下情况.
string path = "this is an invalid path";
if (!Directory.Exists(path))
Directory.CreateDirectory(path); //Exception thrown here
Run Code Online (Sandbox Code Playgroud)
如果提供无效路径,则会引发DirectoryNotFoundException异常.
如何阻止此异常发生?我不想使用try-catch.我想检测即使在异常发生之前也会发生此异常.
什么是在java中验证以下正则表达式的模式.仅包含字母,空格和撇号的字符串(')
我知道,对于字母来说,("^[a-zA-Z]+$")
对于空格来说这是("\\s)
我不知道撇号是什么.
但最重要的是我只想要一个表达式.不是3个人.