我读过这个: Flex: HTTP request error #2032
这个: http://www.judahfrangipane.com/blog/2007/02/15/error-2032-stream-error/
试图弄清楚到底发生了什么,到目前为止我失败了很多时间......
我甚至无法使用HTTPService组件使用最简单的servlet,它们都会失败,我不知道为什么。
尝试发布并获取。
HTTP请求错误
Error: [IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error #2032: Error de secuencia. URL: http://localhost:8080/root/test"]. URL: http://localhost:8080/root/test
软硬度:
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
minWidth="955" minHeight="600">
<fx:Declarations>
<s:HTTPService
id="httpSerciseTest"
url="/root/test"
method="GET"
resultFormat="e4x"
useProxy="false"
result="resultHandler(event)"
fault="Alert.show(event.fault.faultString+
'\n' + event.fault.faultDetail,
'Error: '+event.fault.faultCode)"/>
</fx:Declarations>
<fx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
[Bindable]private var xmlResult:XML;
private function creationCompleteHandler():void
{
httpSerciseTest.send();
}
private function resultHandler(event:ResultEvent):void
{
xmlResult=event.result as XML;
}
]]>
</fx:Script>
</s:Application>
Java servlet:
public class Test extends HttpServlet {
private static final long serialVersionUID = 4484874511692568559L;
private static final String CONTENT_TYPE = "text/xml; charset=utf-8";
protected void doGet(HttpServletRequest request, HttpServletResponse response)throws IOException
{
response.setContentType(CONTENT_TYPE);
try{
PrintWriter writer=response.getWriter();
writer.println("<?xml version=\"1.0\"?>\n");
writer.println("<root>");
writer.println("<folder label=\"Repository\"/>");
writer.println("<folder label=\"Documentation\"/>");
writer.println("</root>");
}catch (IOException IOE){
throw IOE;
}
}
}
的web.xml
<servlet>
<servlet-name>test</servlet-name>
<display-name>test</display-name>
<servlet-class>java_servlets.Test</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>test</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
另外,我使用文件引用上传和下载带有servlet的文件,它们工作正常,但如果我用HTTPService调用相同的servlet,它们也会失败......
编辑:localhost:8080 / root / test显示HTTP状态404页面。
第二次编辑:我将doGet从这个测试示例粘贴到我的文件上传servlet及其工作,HTTPService可以从那里使用它,但不是从我创建的新的,包括这个测试......
答案 0 :(得分:0)
好的,我开始工作了,发生了两件事:
1.-你不能使用没有任何参数的servlet的Post方法,我确实改变了方法=&#34; POST&#34; for method =&#34; GET&#34;如示例中所示,但有时我很难在我的java源文件夹上重新编译eclipse,我通常需要干净并重新启动JBoss for eclipse以完全部署新的更改。
2.-正如shaunhusain建议的那样,我尝试了url localhost:8080 / root / test期望看到xml但是我得到了404,所以servlet在第一时间甚至不可用,到目前为止,我还是不能得到测试servlet是可用的,但我得到了一个需要工作的,我仍然不知道战争的一部分是编译的servlet,或者如何确保它们被部署。
Imma尝试弄清楚如何通过ecplise识别java servlet然后自己部署,但如果有人亲切地解释了这个过程或给出了一个好的来源,我会将其标记为正确的答案,因为这是主要的我的问题的原因。
编辑:还有一件事,故障事件没有得到我抛出的异常,当doPost或doGet函数出现故障时,我收到HTTP请求错误#2032而不是真正的错误消息。
编辑:发现它!,结果是eclipse随机无法发布完整的更改,一些servlet永远不会发布。 到目前为止,我发现这是唯一可靠的方法:
从服务器视图中删除服务器, 去 &#34; workspace.metadata.plugins \ org.eclipse.wst.server.core \发布&#34 ;, 然后删除所有的publish.xml文件 重启日食。
http://www.eclipsezone.com/eclipse/forums/t88527.html
这也经常发生在messagebroekr / amf上。