[JBoss Web Services Users] - Invalid HTTP server response [400] - Bad Request
by suryasahu
Hi
I have a web application running on JBoss 4.2.2 on a Windows Xp machine. It has a Web Service client that was built using JBossWS Native 3.0.4. This client is sending a SOAP packet to a .NET WebService. I get a very high failure rate with the following error.
>From the exception, it looks like there is something wrong with the Request that is being created. How can find out what exactly is wrong with it? Is there a way to influence the way the request is generated? Any documentation, any pointer would help.
Thanks.
2009-12-02 10:38:03,234 DEBUG [org.jboss.ws.core.soap.SOAPContentElement] --------------------------
| ---------
| 2009-12-02 10:38:03,234 DEBUG [org.jboss.remoting.transport.http.HTTPClientInvoker] Error invoking h
| ttp client invoker.
| org.jboss.ws.WSException: Invalid HTTP server response [400] - Bad Request ( The HTTP request includ
| es a non-supported header. Contact your ISA Server administrator. )
| at org.jboss.ws.core.soap.SOAPMessageUnMarshallerHTTP.read(SOAPMessageUnMarshallerHTTP.java:75)
| at org.jboss.remoting.transport.http.HTTPClientInvoker.readResponse(HTTPClientInvoker.java:473)
| at org.jboss.remoting.transport.http.HTTPClientInvoker.useHttpURLConnection(HTTPClientInvoker.java:
| 305)
| at org.jboss.remoting.transport.http.HTTPClientInvoker.transport(HTTPClientInvoker.java:135)
| at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:122)
| at org.jboss.remoting.Client.invoke(Client.java:1634)
| at org.jboss.remoting.Client.invoke(Client.java:548)
| at org.jboss.ws.core.client.HTTPRemotingConnection.invoke(HTTPRemotingConnection.java:242)
| at org.jboss.ws.core.client.SOAPProtocolConnectionHTTP.invoke(SOAPProtocolConnectionHTTP.java:71)
| at org.jboss.ws.core.CommonClient.invoke(CommonClient.java:340)
| at org.jboss.ws.core.jaxws.client.ClientImpl.invoke(ClientImpl.java:291)
| at org.jboss.ws.core.jaxws.client.ClientProxy.invoke(ClientProxy.java:170)
| at org.jboss.ws.core.jaxws.client.ClientProxy.invoke(ClientProxy.java:150)
| at $Proxy80.sendNotification(Unknown Source)
| at gov.pacts.vccaNotification.queue.QueueProcessor.run(QueueProcessor.java:211)
| at java.lang.Thread.run(Thread.java:619)
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4268591#4268591
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4268591
15 years, 3 months
[JBoss Web Services Users] - JBoss 5.1.0: jbossws-native-saaj.jar conflicting with saaj-i
by jbosssupport
Hello forum,
Situation:
Using a third party application (Appl1) which can be integrated into custom software.
Appl1 uses saaj-impl.jar and saaj-api.jar (SUN original) in it's program logic. Both jars(saaj-impl.jar and saaj-api.jar) are located in server/serverDir/lib folder. Using Appl1 directly does not cause any problem!
Requirement:
Implement a WebService Application (WSAppl) using Jboss native WS-Security.
...
@EndpointConfig(configName = "Standard WSSecurity Endpoint")
@SecurityDomain("WSAppl")
WS-Sec Method is UsernameToken.
...
As you can see all WSMethods in WSAppl are secured with jbossws-native-saaj.jar, each of these method requests gets passed to Appl1.
Calling any WSMedod in WSAppl, the following Exception occurs:
| 2009-12-01 18:03:53,794 ERROR [org.jboss.ws.core.jaxws.SOAPFaultHelperJAXWS] (http-127.0.0.1-8280-1) SOAP request exception
| java.lang.UnsupportedOperationException: setProperty must be overridden by all subclasses of SOAPMessage
| at javax.xml.soap.SOAPMessage.setProperty(Unknown Source)
| at org.jboss.ws.core.soap.SOAPMessageImpl.<init>(SOAPMessageImpl.java:87)
| at org.jboss.ws.core.soap.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:215)
| at org.jboss.ws.core.soap.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:193)
| at org.jboss.wsf.stack.jbws.RequestHandlerImpl.processRequest(RequestHandlerImpl.java:455)
| at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:295)
| at org.jboss.wsf.stack.jbws.RequestHandlerImpl.doPost(RequestHandlerImpl.java:205)
| at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:131)
| at org.jboss.wsf.common.servlet.AbstractEndpointServlet.service(AbstractEndpointServlet.java:85)
| at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
| at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
| at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
| at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
| at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
| at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
| at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
| at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
| at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
| at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
| at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
| at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
| at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
| at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
| at java.lang.Thread.run(Thread.java:595)
Assumption:
JBoss can not use 'jbossws-native-saaj.jar' for WS-Security in WSAppl and 'saaj-impl.jar' afterwards in Appl1 programm logic.
'jbossws-native-saaj.jar' is located in JBossDir/client folder as standard (no changes to Jboss libs).
Question:
As I can not change Appl1 Implementation to use jbossws-native-saaj.jar, is there any way to use both different implementations (JBoss native saaj for WS Security and SUN saaj in third party program logic) at the same time in the same Jboss instance?!
Thank you very much!
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4268354#4268354
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4268354
15 years, 3 months
[JBoss Web Services Users] - Re: Newbie: Empty ArrayList Passed on WS Call
by gwzoller
Here's the rest of the story. I finally stumbled on the right recipe, and here 'tis. I was over-complicating things. Removing almost all the annotations fixed both the list-passing and the WSDL.
Interface:
import java.util.ArrayList;
| import javax.ejb.Remote; // for the EJB
| import javax.jws.WebService; // for the web service
| import com.kepler.ecom.domain.OrderLine;
|
| @Remote
| @WebService
| public interface OrderTakerRemote {
| public String msg(ArrayList<String> say);
| }
Implementation:
import javax.ejb.Stateless;
| import javax.jws.WebService;
| import com.aviall.kepler.ecom.domain.OrderLine;
| import com.aviall.kepler.ecom.services.OrderTakerRemote;
| import java.util.ArrayList;
|
| @WebService
| @Stateless
| public class OrderTaker implements OrderTakerRemote {
| public OrderTaker() {
| }
|
| public String msg(ArrayList<String> say) {
| // Use the list here
| }
| }
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4268317#4268317
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4268317
15 years, 3 months