You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by he...@apache.org on 2005/04/19 14:08:02 UTC
svn commit: r161876 - in webservices/axis/trunk/java/modules:
core/src/org/apache/axis/clientapi/ core/src/org/apache/axis/engine/
core/src/org/apache/axis/transport/http/ samples/test/org/apache/axis/engine/
Author: hemapani
Date: Tue Apr 19 05:08:01 2005
New Revision: 161876
URL: http://svn.apache.org/viewcvs?view=rev&rev=161876
Log:
fixing test cases
Modified:
webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/Call.java
webservices/axis/trunk/java/modules/core/src/org/apache/axis/engine/AddressingBasedDispatcher.java
webservices/axis/trunk/java/modules/core/src/org/apache/axis/engine/AxisEngine.java
webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/http/HTTPTransportReceiver.java
webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/CallUnregisteredServiceTest.java
Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/Call.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/Call.java?view=diff&r1=161875&r2=161876
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/Call.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/Call.java Tue Apr 19 05:08:01 2005
@@ -40,7 +40,7 @@
private HashMap properties;
- private String transport;
+ private String transport = Constants.TRANSPORT_HTTP;
private EngineContext engineContext;
@@ -52,11 +52,6 @@
public Call() throws AxisFault {
-
-
-
-
-
try {
//find the deployment mechanism , create
//a EngineContext .. if the conf file not found
@@ -221,6 +216,7 @@
* This method is used to initilize the client side ,
*/
private void init() throws AxisFault {
+ messageInfoHeaders = new MessageInformationHeadersCollection();
AxisService callbackService = new AxisService();
callbackService.setName(new QName(CallbackReceiver.SERVIC_NAME));
callbackReceiver = new CallbackReceiver();
@@ -336,9 +332,9 @@
*/
public void setListenerTransport(String Listenertransport, boolean useSeparateListener)
throws AxisFault {
- if ((Constants.TRANSPORT_HTTP.equals(transport)
- || Constants.TRANSPORT_MAIL.equals(transport)
- || Constants.TRANSPORT_TCP.equals(transport))) {
+ if ((Constants.TRANSPORT_HTTP.equals(Listenertransport)
+ || Constants.TRANSPORT_MAIL.equals(Listenertransport)
+ || Constants.TRANSPORT_TCP.equals(Listenertransport))) {
this.Listenertransport = Listenertransport;
this.useSeparateListener = useSeparateListener;
} else {
Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/engine/AddressingBasedDispatcher.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/engine/AddressingBasedDispatcher.java?view=diff&r1=161875&r2=161876
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/engine/AddressingBasedDispatcher.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/engine/AddressingBasedDispatcher.java Tue Apr 19 05:08:01 2005
@@ -56,11 +56,11 @@
EndpointReference toEPR = msgctx.getTo();
QName serviceName = new QName(toEPR.getAddress());
service = msgctx.getEngineContext().getEngineConfig().getService(serviceName);
-
+
if (service != null) {
EngineContext engineContext = msgctx.getEngineContext();
ServiceContext serviceContext = engineContext.getService(service.getName());
- if(serviceContext == null){
+ if (serviceContext == null) {
serviceContext = new ServiceContext(service);
}
msgctx.setServiceContext(serviceContext);
@@ -70,7 +70,7 @@
chain.addPhases(serviceContext.getPhases(EngineConfiguration.INFLOW));
} else {
- throw new AxisFault("Both the URI and SOAP_ACTION are Null");
+ throw new AxisFault("No service found under the " + toEPR.getAddress());
}
if (msgctx.getOperationContext() == null) {
String action = (String) msgctx.getWSAAction();
@@ -79,7 +79,7 @@
if (op != null) {
OperationContext opContext = new OperationContext(op);
msgctx.setOperationContext(opContext);
- }else{
+ } else {
throw new AxisFault("Operation not found");
}
Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/engine/AxisEngine.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/engine/AxisEngine.java?view=diff&r1=161875&r2=161876
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/engine/AxisEngine.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/engine/AxisEngine.java Tue Apr 19 05:08:01 2005
@@ -162,7 +162,6 @@
log.info("ending the out flow");
} catch (Throwable e) {
- e.printStackTrace();
handleFault(context, e);
}
}
@@ -198,7 +197,7 @@
SOAPBody body = envelope.getBody();
body.addFault(new AxisFault(e.getMessage(), e));
faultContext.setEnvelope(envelope);
-
+
ExecutionChain chain = faultContext.getExecutionChain();
ServiceContext serviceContext = context.getServiceContext();
@@ -209,7 +208,7 @@
chain.invoke(faultContext);
// send the error
TransportSender sender = context.getTransportOut().getSender();
- sender.invoke(context);
+ sender.invoke(faultContext);
} else if (!serverSide) {
// if at the client side throw the exception
Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/http/HTTPTransportReceiver.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/http/HTTPTransportReceiver.java?view=diff&r1=161875&r2=161876
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/http/HTTPTransportReceiver.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/http/HTTPTransportReceiver.java Tue Apr 19 05:08:01 2005
@@ -90,27 +90,30 @@
* @throws AxisFault
*/
public void invoke(MessageContext msgContext) throws AxisFault {
- Reader in =
- (Reader) msgContext.getProperty(MessageContext.TRANSPORT_READER);
+ Reader in = (Reader) msgContext.getProperty(MessageContext.TRANSPORT_READER);
if (in != null) {
boolean serverSide = msgContext.isServerSide();
Map map = parseTheHeaders(in, serverSide);
if (serverSide) {
msgContext.setProperty(
- MessageContext.SOAP_ACTION,
- map.get(HTTPConstants.HEADER_SOAP_ACTION));
+ MessageContext.SOAP_ACTION,
+ map.get(HTTPConstants.HEADER_SOAP_ACTION));
+
+ String requestURI = (String) map.get(HTTPConstants.REQUEST_URI);
msgContext.setTo(
- new EndpointReference(
- AddressingConstants.WSA_TO,
- (String) map.get(HTTPConstants.REQUEST_URI)));
+ new EndpointReference(
+ AddressingConstants.WSA_TO,
+ getServiceLookUp(requestURI)));
// TODO see is it a Service request e.g. WSDL, list ....
// TODO take care of the other HTTPHeaders
} else {
- if (HTTPConstants.RESPONSE_ACK_CODE_VAL.equals(
- map.get(HTTPConstants.RESPONSE_CODE))) {
- msgContext.setProperty(MessageContext.TRANSPORT_SUCCEED,
- HTTPConstants.RESPONSE_ACK_CODE_VAL);
+ if (HTTPConstants
+ .RESPONSE_ACK_CODE_VAL
+ .equals(map.get(HTTPConstants.RESPONSE_CODE))) {
+ msgContext.setProperty(
+ MessageContext.TRANSPORT_SUCCEED,
+ HTTPConstants.RESPONSE_ACK_CODE_VAL);
return;
}
@@ -118,13 +121,9 @@
}
AxisEngine axisEngine = new AxisEngine();
try {
- XMLStreamReader xmlreader =
- XMLInputFactory.newInstance().createXMLStreamReader(in);
- StAXBuilder builder =
- new StAXSOAPModelBuilder(OMFactory.newInstance(),
- xmlreader);
- msgContext.setEnvelope(
- (SOAPEnvelope) builder.getDocumentElement());
+ XMLStreamReader xmlreader = XMLInputFactory.newInstance().createXMLStreamReader(in);
+ StAXBuilder builder = new StAXSOAPModelBuilder(OMFactory.newInstance(), xmlreader);
+ msgContext.setEnvelope((SOAPEnvelope) builder.getDocumentElement());
} catch (Exception e) {
throw new AxisFault(e.getMessage(), e);
}
@@ -157,8 +156,7 @@
* @return
* @throws AxisFault
*/
- public HashMap parseTheHeaders(Reader reader, boolean serverSide)
- throws AxisFault {
+ public HashMap parseTheHeaders(Reader reader, boolean serverSide) throws AxisFault {
HashMap map = new HashMap();
try {
StringBuffer str = new StringBuffer();
@@ -168,8 +166,7 @@
int start = 0;
length = readLine(reader, buf);
if (serverSide) {
- if ((buf[0] == 'P') && (buf[1] == 'O') && (buf[2] == 'S')
- && (buf[3] == 'T')) {
+ if ((buf[0] == 'P') && (buf[1] == 'O') && (buf[2] == 'S') && (buf[3] == 'T')) {
index = 5;
value = readFirstLineArg(' ');
map.put(HTTPConstants.REQUEST_URI, value);
@@ -195,19 +192,19 @@
}
for (int i = 0; i < length; i++) {
switch (state) {
- case BEFORE_SEPERATOR:
+ case BEFORE_SEPERATOR :
if (buf[i] == ':') {
key = str.toString();
str = new StringBuffer();
state = AFTER_SEPERATOR;
if (buf[i + 1] == ' ') {
- i++; // ignore next space
+ i++; // ignore next space
}
} else {
str.append(buf[i]);
}
break;
- case AFTER_SEPERATOR:
+ case AFTER_SEPERATOR :
if (buf[i] == '\n') {
value = str.toString();
map.put(key, value);
@@ -229,9 +226,8 @@
// break;
// case END:
// break;
- default :
- throw new AxisFault("Error Occured Unknown state "
- + state);
+ default :
+ throw new AxisFault("Error Occured Unknown state " + state);
}
}
state = BEFORE_SEPERATOR;
@@ -415,12 +411,24 @@
}
}
if (c == -1) {
- throw new AxisFault(
- "Every line should ends with the \n, unexpected End of stream");
+ throw new AxisFault("Every line should ends with the \n, unexpected End of stream");
} else {
- return (count > 0)
- ? count
- : -1;
+ return (count > 0) ? count : -1;
}
+ }
+
+ private String getServiceLookUp(String requestURI) throws AxisFault {
+ final String URI_ID_STRING = "/services";
+ String filePart = requestURI;
+
+ int index = filePart.lastIndexOf(URI_ID_STRING);
+ String serviceStr = null;
+ if (index > 0) {
+ serviceStr = filePart.substring(index + URI_ID_STRING.length() + 1);
+ return serviceStr;
+
+ } else {
+ throw new AxisFault("Both the URI and SOAP_ACTION are Null");
+ }
}
}
Modified: webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/CallUnregisteredServiceTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/CallUnregisteredServiceTest.java?view=diff&r1=161875&r2=161876
==============================================================================
--- webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/CallUnregisteredServiceTest.java (original)
+++ webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/CallUnregisteredServiceTest.java Tue Apr 19 05:08:01 2005
@@ -22,6 +22,7 @@
import junit.framework.TestCase;
+import org.apache.axis.Constants;
import org.apache.axis.addressing.AddressingConstants;
import org.apache.axis.addressing.EndpointReference;
import org.apache.axis.clientapi.Call;
@@ -41,8 +42,7 @@
private Log log = LogFactory.getLog(getClass());
private QName serviceName = new QName("", "EchoXMLService");
private QName operationName = new QName("http://localhost/my", "echoOMElement");
- private QName transportName = new QName("http://localhost/my", "NullTransport");
-
+
private EngineConfiguration engineRegistry;
private MessageContext mc;
private Thread thisThread;
@@ -78,9 +78,10 @@
reqEnv.getBody().addChild(method);
Call call = new Call();
- EndpointReference targetEPR = new EndpointReference(AddressingConstants.WSA_TO, "http://127.0.0.1:" + UtilServer.TESTING_PORT + "/axis/services/EchoXMLService1");
+ EndpointReference targetEPR = new EndpointReference(AddressingConstants.WSA_TO, "http://127.0.0.1:" + (UtilServer.TESTING_PORT) + "/axis/services/EchoXMLService1");
call.setTransport(Constants.TRANSPORT_HTTP);
call.setTo(targetEPR);
+ call.setTransport(Constants.TRANSPORT_HTTP);
SOAPEnvelope resEnv = call.sendReceiveSync(reqEnv);
SOAPBody sb = resEnv.getBody();