aboutsummaryrefslogtreecommitdiff
path: root/spss/server/serverlib/src
diff options
context:
space:
mode:
Diffstat (limited to 'spss/server/serverlib/src')
-rw-r--r--spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactory.java14
-rw-r--r--spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/AxisHandler.java26
-rw-r--r--spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureCreationService.java2
-rw-r--r--spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureVerificationService.java2
-rw-r--r--spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/transaction/TransactionContext.java5
5 files changed, 32 insertions, 17 deletions
diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactory.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactory.java
index ad0da28f4..0abd80944 100644
--- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactory.java
+++ b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactory.java
@@ -191,6 +191,7 @@ public class DataObjectFactory {
}
// try to parse validating
+ Logger.trace(">>> parsing the following content: \n" + new String(contentBytes));
try {
ByteArrayInputStream is = new ByteArrayInputStream(contentBytes);
Document doc =
@@ -201,6 +202,7 @@ public class DataObjectFactory {
null,
entityResolver,
new MOAErrorHandler());
+ Logger.trace("<<< parsed");
return new XMLDataObjectImpl(doc.getDocumentElement());
} catch (Exception e) {
@@ -304,18 +306,12 @@ public class DataObjectFactory {
}
case Content.LOCREF_CONTENT:
{
- InputStream contentIS = null;
String locRefURI = ((ContentLocRef) content).getLocationReferenceURI();
-
TransactionContext context = TransactionContextManager.getInstance().getTransactionContext();
- Vector entity = context.FindResolvedEntity(locRefURI);
- if (entity!=null) {
- contentIS = (InputStream) entity.get(0);
- } else {
+ if (context.FindResolvedEntity(locRefURI)==null) {
ExternalURIResolver uriResolver = new ExternalURIResolver();
-
InputStream uriStream = null;
byte[] contentBytes;
String contentType = null;
@@ -323,7 +319,6 @@ public class DataObjectFactory {
{
uriStream = uriResolver.resolve(locRefURI);
contentBytes = StreamUtils.readStream(uriStream);
- contentIS = new ByteArrayInputStream(contentBytes);
contentType = uriResolver.getContentType();
}
catch (Exception e)
@@ -334,9 +329,10 @@ public class DataObjectFactory {
{
closeInputStream(uriStream);
}
- entities.put(locRefURI, contentIS);
context.PutResolvedEntity(locRefURI, contentBytes, contentType);
}
+ InputStream contentIS = context.ResolveURI(locRefURI);
+ entities.put(reference, contentIS);
break;
}
case Content.XML_CONTENT :
diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/AxisHandler.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/AxisHandler.java
index f5f77ff50..8e5c8a49b 100644
--- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/AxisHandler.java
+++ b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/AxisHandler.java
@@ -1,6 +1,7 @@
package at.gv.egovernment.moa.spss.server.service;
import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
@@ -18,6 +19,8 @@ import org.apache.axis.handlers.BasicHandler;
import org.apache.axis.transport.http.HTTPConstants;
import org.apache.axis.utils.Messages;
import org.apache.axis.utils.XMLUtils;
+import org.apache.xml.serialize.OutputFormat;
+import org.apache.xml.serialize.XMLSerializer;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
@@ -27,7 +30,6 @@ import at.gv.egovernment.moa.logging.Logger;
import at.gv.egovernment.moa.logging.LoggingContext;
import at.gv.egovernment.moa.logging.LoggingContextManager;
import at.gv.egovernment.moa.spss.MOASystemException;
-import at.gv.egovernment.moa.spss.api.common.Content;
import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider;
import at.gv.egovernment.moa.spss.server.transaction.TransactionContext;
import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager;
@@ -105,7 +107,11 @@ public class AxisHandler extends BasicHandler {
(X509Certificate[]) request.getAttribute(X509_CERTIFICATE_PROPERTY);
//Configure Axis
+// AxisProperties.setProperty(AxisEngine.PROP_ENABLE_NAMESPACE_PREFIX_OPTIMIZATION,"false");
+// AxisProperties.setProperty(AxisEngine.PROP_DOMULTIREFS,"false");
+// AxisProperties.setProperty(AxisEngine.PROP_SEND_XSI,"true");
//msgContext.setProperty(org.apache.axis.SOAPPart.ALLOW_FORM_OPTIMIZATION, Boolean.FALSE);
+ //msgContext.setProperty(org.apache.axis. AxisEngine.PROP_ENABLE_NAMESPACE_PREFIX_OPTIMIZATION,"false");
Message soapMessage = msgContext.getCurrentMessage();
@@ -201,9 +207,21 @@ public class AxisHandler extends BasicHandler {
info("handler.03", null);
}
if (Logger.isDebugEnabled()) {
- String msg = soapMessage.getSOAPPartAsString();
- Logger.debug(new LogMsg(msg));
- }
+// OutputFormat format = new OutputFormat((Document) xmlRequest.getOwnerDocument());
+// format.setLineSeparator("\n");
+// format.setIndenting(false);
+// format.setPreserveSpace(true);
+// format.setOmitXMLDeclaration(false);
+// format.setEncoding("UTF-8");
+// ByteArrayOutputStream baos = new ByteArrayOutputStream();
+// XMLSerializer conSerializer = new XMLSerializer(baos, format);
+// conSerializer.serialize(xmlRequest);
+// Logger.debug(new LogMsg("Request:" + baos.toString()));
+
+
+ String msg = soapMessage.getSOAPPartAsString();
+ Logger.debug(new LogMsg(msg));
+ }
} catch (MOASystemException e) {
MOASystemException se = new MOASystemException("2900", null, e);
AxisFault fault = AxisFault.makeFault(se);
diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureCreationService.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureCreationService.java
index c173625f8..8fceb6fb6 100644
--- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureCreationService.java
+++ b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureCreationService.java
@@ -70,7 +70,7 @@ public class SignatureCreationService {
//since Axis (1.1 ff) has problem with namespaces we take the raw request stored by the Axishandler.
TransactionContext context = TransactionContextManager.getInstance().getTransactionContext();
// validate the request
- reparsedReq = ServiceUtils.reparseRequest(context.getRequest());
+ reparsedReq = ServiceUtils.reparseRequest(request[0]);//context.getRequest());
// convert to API objects
Logger.trace(">>> preparsing Request");
diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureVerificationService.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureVerificationService.java
index b335a6e23..feb49ffbf 100644
--- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureVerificationService.java
+++ b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureVerificationService.java
@@ -56,7 +56,7 @@ public class SignatureVerificationService {
//since Axis (1.1 ff) has problem with namespaces we take the raw request stored by the Axishandler.
TransactionContext context = TransactionContextManager.getInstance().getTransactionContext();
// validate the request
- reparsedReq = ServiceUtils.reparseRequest(context.getRequest());
+ reparsedReq = ServiceUtils.reparseRequest(request[0]);//context.getRequest());
// convert to API objects
requestObj = requestParser.parse(reparsedReq);
diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/transaction/TransactionContext.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/transaction/TransactionContext.java
index 5c1e35a95..62db42674 100644
--- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/transaction/TransactionContext.java
+++ b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/transaction/TransactionContext.java
@@ -273,8 +273,9 @@ public void cleanAttachmentCache() {
if (mmds!=null) {
InputStream is = mmds.getInputStream();
if (is!=null) is.close();
- File f = mmds.getDiskCacheFile();
- if (f!=null) f.delete();
+// not available in Axis 1.0 to 1.1
+// File f = mmds.getDiskCacheFile();
+// if (f!=null) f.delete();
mmds.delete();
}
} catch (IOException e) {