diff options
| author | wbauer <wbauer@8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4> | 2008-09-11 13:03:44 +0000 | 
|---|---|---|
| committer | wbauer <wbauer@8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4> | 2008-09-11 13:03:44 +0000 | 
| commit | 76bb812a3254be530e403f8db8c01323a31b30c1 (patch) | |
| tree | 718366a1d1c9bb92f7565fe46a534dd86719210f /bkucommon/src | |
| parent | 66cfb865fbfa7af514e803003f928d77f1156e46 (diff) | |
| download | mocca-76bb812a3254be530e403f8db8c01323a31b30c1.tar.gz mocca-76bb812a3254be530e403f8db8c01323a31b30c1.tar.bz2 mocca-76bb812a3254be530e403f8db8c01323a31b30c1.zip | |
git-svn-id: https://joinup.ec.europa.eu/svn/mocca/trunk@33 8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4
Diffstat (limited to 'bkucommon/src')
8 files changed, 451 insertions, 315 deletions
| diff --git a/bkucommon/src/main/java/at/gv/egiz/bku/binding/DataUrl.java b/bkucommon/src/main/java/at/gv/egiz/bku/binding/DataUrl.java index 8eaeacbd..a8477ece 100644 --- a/bkucommon/src/main/java/at/gv/egiz/bku/binding/DataUrl.java +++ b/bkucommon/src/main/java/at/gv/egiz/bku/binding/DataUrl.java @@ -16,13 +16,14 @@  */  package at.gv.egiz.bku.binding;
 -import java.net.MalformedURLException;
 -import java.net.URL;
 -
 -import org.apache.commons.logging.Log;
 -import org.apache.commons.logging.LogFactory;
 -
 -import at.gv.egiz.bku.slexceptions.SLRuntimeException;
 +import java.net.MalformedURLException; +import java.net.URL; +import java.util.Properties; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import at.gv.egiz.bku.slexceptions.SLRuntimeException;  /**
   * Used to handle DataUrl connections as specified in the CCE's HTTP protocol binding. 
 @@ -30,7 +31,8 @@ import at.gv.egiz.bku.slexceptions.SLRuntimeException;   */
  public class DataUrl {
    private static DataUrlConnectionSPI defaultDataUrlConnection = new DataUrlConnectionImpl();
 -  private static Log log = LogFactory.getLog(DataUrl.class);
 +  private static Log log = LogFactory.getLog(DataUrl.class); +  private static Properties configuration;
    private URL url;
 @@ -58,5 +60,9 @@ public class DataUrl {        log.error(e);
        throw new SLRuntimeException("Cannot instantiate a dataurlconnection:",e);
      }
 +  } +   +  public static void setConfiguration(Properties props) { +    configuration = props;    }
  }
\ No newline at end of file diff --git a/bkucommon/src/main/java/at/gv/egiz/bku/binding/DataUrlConnection.java b/bkucommon/src/main/java/at/gv/egiz/bku/binding/DataUrlConnection.java index 6d654639..c6ffa32a 100644 --- a/bkucommon/src/main/java/at/gv/egiz/bku/binding/DataUrlConnection.java +++ b/bkucommon/src/main/java/at/gv/egiz/bku/binding/DataUrlConnection.java @@ -34,14 +34,16 @@ import at.gv.egiz.bku.slcommands.SLResult;   */
  public interface DataUrlConnection {
 -    public static final String DEFAULT_USERAGENT = "citizen-card-environment/1.2 BKU2 1.0";
 +    public static final String DEFAULT_USERAGENT = "citizen-card-environment/1.2 MOCCA Unknown";
      public static final String FORMPARAM_RESPONSETYPE = "ResponseType";
      public static final String DEFAULT_RESPONSETYPE = "HTTP-Security-Layer-RESPONSE";
      public static final String FORMPARAM_XMLRESPONSE = "XMLResponse";
      public static final String FORMPARAM_BINARYRESPONSE = "BinaryResponse";
      public static final String XML_RESPONSE_ENCODING = "UTF-8";
 -
 + +    public final static String USER_AGENT_PROPERTY_KEY="UserAgent"; +    
      public String getProtocol();      public URL getUrl();
 diff --git a/bkucommon/src/main/java/at/gv/egiz/bku/binding/DataUrlConnectionImpl.java b/bkucommon/src/main/java/at/gv/egiz/bku/binding/DataUrlConnectionImpl.java index 9f5d70cb..bb0314b5 100644 --- a/bkucommon/src/main/java/at/gv/egiz/bku/binding/DataUrlConnectionImpl.java +++ b/bkucommon/src/main/java/at/gv/egiz/bku/binding/DataUrlConnectionImpl.java @@ -1,221 +1,235 @@  /* -* Copyright 2008 Federal Chancellery Austria and -* Graz University of Technology -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -*     http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package at.gv.egiz.bku.binding;
 -
 -import java.io.FileOutputStream;
 -import java.io.IOException;
 -import java.io.InputStream;
 -import java.io.OutputStream;
 -import java.net.HttpURLConnection;
 -import java.net.SocketTimeoutException;
 -import java.net.URL;
 -import java.security.cert.X509Certificate;
 -import java.util.ArrayList;
 -import java.util.HashMap;
 -import java.util.Iterator;
 -import java.util.List;
 -import java.util.Map;
 -import java.util.Set;
 -
 -import javax.net.ssl.HttpsURLConnection;
 -
 -import org.apache.commons.httpclient.methods.multipart.FilePart;
 -import org.apache.commons.httpclient.methods.multipart.Part;
 -import org.apache.commons.httpclient.methods.multipart.StringPart;
 -
 -import at.gv.egiz.bku.binding.multipart.InputStreamPartSource;
 -import at.gv.egiz.bku.binding.multipart.SLResultPart;
 -import at.gv.egiz.bku.slcommands.SLResult;
 -import at.gv.egiz.bku.slcommands.SLResult.SLResultType;
 -import at.gv.egiz.bku.slexceptions.SLRuntimeException;
 -import at.gv.egiz.bku.utils.StreamUtil;
 -import at.gv.egiz.bku.utils.binding.Protocol;
 -
 -/**
 - * not thread-safe thus newInsance always returns a new object
 - * 
 - */
 -public class DataUrlConnectionImpl implements DataUrlConnectionSPI {
 -
 -  public final static Protocol[] SUPPORTED_PROTOCOLS = { Protocol.HTTP,
 -      Protocol.HTTPS };
 -  protected X509Certificate serverCertificate;
 -  protected Protocol protocol;
 -  protected URL url;
 -  private HttpURLConnection connection;
 -  protected Map<String, String> requestHttpHeaders;
 -  protected ArrayList<Part> formParams;
 -  protected String boundary;
 -
 -  protected DataUrlResponse result;
 -
 -  public String getProtocol() {
 -    if (protocol == null) {
 -      return null;
 -    }
 -    return protocol.toString();
 -  }
 -
 -  /**
 -   * opens a connection sets the headers gets the server certificate
 -   * 
 -   * @throws java.net.SocketTimeoutException
 -   * @throws java.io.IOException
 -   * @pre url != null
 -   * @pre httpHeaders != null
 -   */
 -  public void connect() throws SocketTimeoutException, IOException {
 -    connection = (HttpURLConnection) url.openConnection();
 -
 + * Copyright 2008 Federal Chancellery Austria and + * Graz University of Technology + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + *     http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package at.gv.egiz.bku.binding; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.HttpURLConnection; +import java.net.SocketTimeoutException; +import java.net.URL; +import java.security.cert.X509Certificate; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Properties; +import java.util.Set; + +import javax.net.ssl.HttpsURLConnection; + +import org.apache.commons.httpclient.methods.multipart.FilePart; +import org.apache.commons.httpclient.methods.multipart.Part; +import org.apache.commons.httpclient.methods.multipart.StringPart; + +import at.gv.egiz.bku.binding.multipart.InputStreamPartSource; +import at.gv.egiz.bku.binding.multipart.SLResultPart; +import at.gv.egiz.bku.slcommands.SLResult; +import at.gv.egiz.bku.slcommands.SLResult.SLResultType; +import at.gv.egiz.bku.slexceptions.SLRuntimeException; +import at.gv.egiz.bku.utils.binding.Protocol; + +/** + * not thread-safe thus newInsance always returns a new object + *  + */ +public class DataUrlConnectionImpl implements DataUrlConnectionSPI { + +  public final static Protocol[] SUPPORTED_PROTOCOLS = { Protocol.HTTP, +      Protocol.HTTPS }; +  protected X509Certificate serverCertificate; +  protected Protocol protocol; +  protected URL url; +  private HttpURLConnection connection; +  protected Map<String, String> requestHttpHeaders; +  protected ArrayList<Part> formParams; +  protected String boundary; +  protected Properties config = null; + +  protected DataUrlResponse result; + +  public String getProtocol() { +    if (protocol == null) { +      return null; +    } +    return protocol.toString(); +  } + +  /** +   * opens a connection sets the headers gets the server certificate +   *  +   * @throws java.net.SocketTimeoutException +   * @throws java.io.IOException +   * @pre url != null +   * @pre httpHeaders != null +   */ +  public void connect() throws SocketTimeoutException, IOException { +    connection = (HttpURLConnection) url.openConnection(); +      // FIXXME move this to config.
 -    HttpURLConnection.setFollowRedirects(false);
 -    
 -    
 -    connection.setDoOutput(true);
 -    Set<String> headers = requestHttpHeaders.keySet();
 -    Iterator<String> headerIt = headers.iterator();
 -    while (headerIt.hasNext()) {
 -      String name = headerIt.next();
 -      connection.setRequestProperty(name, requestHttpHeaders.get(name));
 -    }
 -    connection.connect();
 -    if (connection instanceof HttpsURLConnection) {
 -      HttpsURLConnection ssl = (HttpsURLConnection) connection;
 -      X509Certificate[] certs = (X509Certificate[]) ssl.getServerCertificates();
 -      if ((certs != null) && (certs.length >= 1)) {
 -        serverCertificate = certs[0];
 -      }
 -    }
 -  }
 -
 -  public X509Certificate getServerCertificate() {
 -    return serverCertificate;
 -  }
 -
 -  public void setHTTPHeader(String name, String value) {
 -    if (name != null && value != null) {
 -      requestHttpHeaders.put(name, value);
 -    }
 -  }
 -
 -  public void setHTTPFormParameter(String name, InputStream data,
 -      String contentType, String charSet, String transferEncoding) {
 -    InputStreamPartSource source = new InputStreamPartSource(null, data);
 -    FilePart formParam = new FilePart(name, source, contentType, charSet);
 -    if (transferEncoding != null) {
 -      formParam.setTransferEncoding(transferEncoding);
 -    } else {
 -      formParam.setTransferEncoding(null);
 -    }
 -    formParams.add(formParam);
 -  }
 -
 -  /**
 -   * send all formParameters
 -   * 
 -   * @throws java.io.IOException
 -   */
 -  public void transmit(SLResult slResult) throws IOException {
 -    SLResultPart slResultPart = new SLResultPart(slResult,
 -        XML_RESPONSE_ENCODING);
 -    if (slResult.getResultType() == SLResultType.XML) {
 -      slResultPart.setTransferEncoding(null);
 -      slResultPart.setContentType(slResult.getMimeType());
 -      slResultPart.setCharSet(XML_RESPONSE_ENCODING);
 -    } else {
 -      slResultPart.setTransferEncoding(null);
 -      slResultPart.setContentType(slResult.getMimeType());
 -    }
 -    formParams.add(slResultPart);
 -
 -    OutputStream os = connection.getOutputStream();
 -    
 -    Part[] parts = new Part[formParams.size()];
 -    Part.sendParts(os, formParams.toArray(parts), boundary.getBytes());
 -    os.close();
 +    HttpURLConnection.setFollowRedirects(false); + +    connection.setDoOutput(true); +    Set<String> headers = requestHttpHeaders.keySet(); +    Iterator<String> headerIt = headers.iterator(); +    while (headerIt.hasNext()) { +      String name = headerIt.next(); +      connection.setRequestProperty(name, requestHttpHeaders.get(name)); +    } +    connection.connect(); +    if (connection instanceof HttpsURLConnection) { +      HttpsURLConnection ssl = (HttpsURLConnection) connection; +      X509Certificate[] certs = (X509Certificate[]) ssl.getServerCertificates(); +      if ((certs != null) && (certs.length >= 1)) { +        serverCertificate = certs[0]; +      } +    } +  } + +  public X509Certificate getServerCertificate() { +    return serverCertificate; +  } + +  public void setHTTPHeader(String name, String value) { +    if (name != null && value != null) { +      requestHttpHeaders.put(name, value); +    } +  } + +  public void setHTTPFormParameter(String name, InputStream data, +      String contentType, String charSet, String transferEncoding) { +    InputStreamPartSource source = new InputStreamPartSource(null, data); +    FilePart formParam = new FilePart(name, source, contentType, charSet); +    if (transferEncoding != null) { +      formParam.setTransferEncoding(transferEncoding); +    } else { +      formParam.setTransferEncoding(null); +    } +    formParams.add(formParam); +  } + +  /** +   * send all formParameters +   *  +   * @throws java.io.IOException +   */ +  public void transmit(SLResult slResult) throws IOException { +    SLResultPart slResultPart = new SLResultPart(slResult, +        XML_RESPONSE_ENCODING); +    if (slResult.getResultType() == SLResultType.XML) { +      slResultPart.setTransferEncoding(null); +      slResultPart.setContentType(slResult.getMimeType()); +      slResultPart.setCharSet(XML_RESPONSE_ENCODING); +    } else { +      slResultPart.setTransferEncoding(null); +      slResultPart.setContentType(slResult.getMimeType()); +    } +    formParams.add(slResultPart); + +    OutputStream os = connection.getOutputStream(); + +    Part[] parts = new Part[formParams.size()]; +    Part.sendParts(os, formParams.toArray(parts), boundary.getBytes()); +    os.close();      // MultipartRequestEntity PostMethod
 -    result = new DataUrlResponse(url.toString(), connection.getResponseCode(),
 -        connection.getInputStream());
 -    
 -    Map<String, String> responseHttpHeaders = new HashMap<String, String>();
 -    Map<String, List<String>> httpHeaders = connection.getHeaderFields();
 -    for (Iterator<String> keyIt = httpHeaders.keySet().iterator(); keyIt
 -        .hasNext();) {
 -      String key = keyIt.next();
 -      StringBuffer value = new StringBuffer();
 -      for (String val : httpHeaders.get(key)) {
 -        value.append(val);
 -        value.append(HttpUtil.SEPERATOR[0]);
 -      }
 -      String valString = value.substring(0, value.length() - 1);
 -      if ((key != null)&&(value.length() > 0)) {
 -        responseHttpHeaders.put(key, valString);
 -      }
 -    }
 -    result.setResponseHttpHeaders(responseHttpHeaders);
 -  }
 -
 -  @Override
 -  public DataUrlResponse getResponse() throws IOException {
 -    return result;
 -  }
 -
 -  /**
 -   * inits protocol, url, httpHeaders, formParams
 -   * 
 -   * @param url
 -   *          must not be null
 -   */
 -  @Override
 -  public void init(URL url) {
 -
 -    for (int i = 0; i < SUPPORTED_PROTOCOLS.length; i++) {
 -      if (SUPPORTED_PROTOCOLS[i].toString().equalsIgnoreCase(url.getProtocol())) {
 -        protocol = SUPPORTED_PROTOCOLS[i];
 -        break;
 -      }
 -    }
 -    if (protocol == null) {
 -      throw new SLRuntimeException("Protocol " + url.getProtocol()
 -          + " not supported for data url");
 -    }
 -    this.url = url;
 -    boundary = "--" + IdFactory.getInstance().createId().toString();
 -    requestHttpHeaders = new HashMap<String, String>();
 -    requestHttpHeaders.put(HttpUtil.HTTP_HEADER_USER_AGENT, DEFAULT_USERAGENT);
 -    requestHttpHeaders.put(HttpUtil.HTTP_HEADER_CONTENT_TYPE,
 -        HttpUtil.MULTIPART_FOTMDATA + HttpUtil.SEPERATOR[0]
 -            + HttpUtil.MULTIPART_FOTMDATA_BOUNDARY + "=" + boundary);
 -
 -    formParams = new ArrayList<Part>();
 -    StringPart responseType = new StringPart(FORMPARAM_RESPONSETYPE,
 -        DEFAULT_RESPONSETYPE);
 -    responseType.setCharSet("UTF-8");
 -    responseType.setTransferEncoding(null);
 -    formParams.add(responseType);
 -  }
 -
 -  @Override
 -  public DataUrlConnectionSPI newInstance() {
 -    return new DataUrlConnectionImpl();
 +    result = new DataUrlResponse(url.toString(), connection.getResponseCode(), +        connection.getInputStream()); + +    Map<String, String> responseHttpHeaders = new HashMap<String, String>(); +    Map<String, List<String>> httpHeaders = connection.getHeaderFields(); +    for (Iterator<String> keyIt = httpHeaders.keySet().iterator(); keyIt +        .hasNext();) { +      String key = keyIt.next(); +      StringBuffer value = new StringBuffer(); +      for (String val : httpHeaders.get(key)) { +        value.append(val); +        value.append(HttpUtil.SEPERATOR[0]); +      } +      String valString = value.substring(0, value.length() - 1); +      if ((key != null) && (value.length() > 0)) { +        responseHttpHeaders.put(key, valString); +      } +    } +    result.setResponseHttpHeaders(responseHttpHeaders);    } -	@Override -	public URL getUrl() { -		return url; -	}
 +  @Override +  public DataUrlResponse getResponse() throws IOException { +    return result; +  } + +  /** +   * inits protocol, url, httpHeaders, formParams +   *  +   * @param url +   *          must not be null +   */ +  @Override +  public void init(URL url) { + +    for (int i = 0; i < SUPPORTED_PROTOCOLS.length; i++) { +      if (SUPPORTED_PROTOCOLS[i].toString().equalsIgnoreCase(url.getProtocol())) { +        protocol = SUPPORTED_PROTOCOLS[i]; +        break; +      } +    } +    if (protocol == null) { +      throw new SLRuntimeException("Protocol " + url.getProtocol() +          + " not supported for data url"); +    } +    this.url = url; +    boundary = "--" + IdFactory.getInstance().createId().toString(); +    requestHttpHeaders = new HashMap<String, String>(); +    if ((config != null) +        && (config.getProperty(USER_AGENT_PROPERTY_KEY) != null)) { +      requestHttpHeaders.put(HttpUtil.HTTP_HEADER_USER_AGENT, config +          .getProperty(USER_AGENT_PROPERTY_KEY)); +    } else { +      requestHttpHeaders +          .put(HttpUtil.HTTP_HEADER_USER_AGENT, DEFAULT_USERAGENT); + +    } +    requestHttpHeaders.put(HttpUtil.HTTP_HEADER_CONTENT_TYPE, +        HttpUtil.MULTIPART_FOTMDATA + HttpUtil.SEPERATOR[0] +            + HttpUtil.MULTIPART_FOTMDATA_BOUNDARY + "=" + boundary); + +    formParams = new ArrayList<Part>(); +    StringPart responseType = new StringPart(FORMPARAM_RESPONSETYPE, +        DEFAULT_RESPONSETYPE); +    responseType.setCharSet("UTF-8"); +    responseType.setTransferEncoding(null); +    formParams.add(responseType); +  } + +  @Override +  public DataUrlConnectionSPI newInstance() { +    DataUrlConnectionSPI uc = new DataUrlConnectionImpl(); +    uc.setConfiguration(config); +    return uc; +  } + +  @Override +  public URL getUrl() { +    return url; +  } + +  @Override +  public void setConfiguration(Properties config) { +    this.config = config; +  }  }
\ No newline at end of file diff --git a/bkucommon/src/main/java/at/gv/egiz/bku/binding/DataUrlConnectionSPI.java b/bkucommon/src/main/java/at/gv/egiz/bku/binding/DataUrlConnectionSPI.java index 9e5a66f8..80cc3a0b 100644 --- a/bkucommon/src/main/java/at/gv/egiz/bku/binding/DataUrlConnectionSPI.java +++ b/bkucommon/src/main/java/at/gv/egiz/bku/binding/DataUrlConnectionSPI.java @@ -17,6 +17,7 @@  package at.gv.egiz.bku.binding;
  import java.net.URL;
 +import java.util.Properties;  /**
   * Prototype of a DataurlconnectionSPI
 @@ -36,7 +37,13 @@ public interface DataUrlConnectionSPI extends DataUrlConnection {     * Initializes the DataUrlConnection
     * @param url
     */
 -  public void init(URL url);
 +  public void init(URL url); +   +  /** +   * Sets configuration parameters for this connection +   * @param config +   */ +  public void setConfiguration(Properties config);
  }
 diff --git a/bkucommon/src/main/java/at/gv/egiz/bku/slcommands/impl/ErrorResultImpl.java b/bkucommon/src/main/java/at/gv/egiz/bku/slcommands/impl/ErrorResultImpl.java index 555f83bd..fb624211 100644 --- a/bkucommon/src/main/java/at/gv/egiz/bku/slcommands/impl/ErrorResultImpl.java +++ b/bkucommon/src/main/java/at/gv/egiz/bku/slcommands/impl/ErrorResultImpl.java @@ -16,12 +16,14 @@  */  package at.gv.egiz.bku.slcommands.impl;
 -import at.buergerkarte.namespaces.securitylayer._1.ErrorResponseType;
 -import at.buergerkarte.namespaces.securitylayer._1.ObjectFactory;
 -import at.gv.egiz.bku.slcommands.ErrorResult;
 -import at.gv.egiz.bku.slexceptions.SLException;
 -
 -import javax.xml.transform.Result;
 +import java.util.Locale; + +import javax.xml.transform.Result; + +import at.buergerkarte.namespaces.securitylayer._1.ErrorResponseType; +import at.buergerkarte.namespaces.securitylayer._1.ObjectFactory; +import at.gv.egiz.bku.slcommands.ErrorResult; +import at.gv.egiz.bku.slexceptions.SLException;  /**
   * This class implements the security layer result <code>ErrorResponse</code>.
 diff --git a/bkucommon/src/main/resources/at/gv/egiz/bku/slexceptions/SLExceptionMessages.properties b/bkucommon/src/main/resources/at/gv/egiz/bku/slexceptions/SLExceptionMessages.properties index 8e0a09bc..cf52a4c3 100644 --- a/bkucommon/src/main/resources/at/gv/egiz/bku/slexceptions/SLExceptionMessages.properties +++ b/bkucommon/src/main/resources/at/gv/egiz/bku/slexceptions/SLExceptionMessages.properties @@ -13,85 +13,86 @@  # See the License for the specific language governing permissions and  # limitations under the License. -test.noerror=This is a test error-message. No error occurred. - -ec1000=Unclassified error. -ec2000=Unclassified error in the transport binding. -ec2001=HTTP/HTTPS binding: DataURL cannot be resolved. -ec2002=HTTP/HTTPS binding: StylesheetURL cannot be resolved. -ec2003=HTTP/HTTPS binding: RedirectURL cannot be resolved. -ec2004=HTTP/HTTPS binding: XMLRequest parameter missing. -ec2005=HTTP/HTTPS binding: Unknown parameter encoding. -ec2006=HTTP/HTTPS binding: Incorrect parameter encoding. -ec2007=HTTP/HTTPS binding: DataURL server transmits error or unexpected response. -ec2008=HTTP/HTTPS binding: Error in stylesheet obtained from the StylesheetURL. -ec2009=HTTP/HTTPS binding: HTTP request to local CCE directed to unauthorised URL. -ec2010=HTTPS binding: Error while establishing the TLS connection. -ec3000=Unclassified error in the XML structure of the command request. -ec3001=XML structure of the command request is not well formed. -ec3002=XML structure of the command request does not comply with the Security Layer schema. -ec3003=XML structure of the command request contains an invalid combination of optional elements or attributes. -ec3004=XML structure contains an element or attribute whose syntax does not match the Security Layer specification. -ec3005=Protocol version of Security Layer not supported. -ec4000=Unclassified error while processing command. -ec4001=Unknown key box identifier. -ec4002=Unknown info box identifier. -ec4003=Date to be signed cannot be resolved. -ec4004=Supplementary object cannot be resolved. -ec4005=Date to be encrypted cannot be resolved. -ec4006=Algorithm (signature, encryption, digest, canonicalisation, transformation) not supported. -ec4007=Error while executing algorithm (signature, encryption, digest, canonicalisation, transformation). -ec4008=Error while parsing CMS message -ec4009=No matching decryption key. -ec4010=Info box command parameters do not match info box type. -ec4011=Command not implemented. -ec4100=XML document in which the signature is to be integrated cannot be resolved. -ec4101=XML document in which the signature is to be integrated cannot be parsed. -ec4102=Signature cannot be integrated in the existing XML document at the specified location. -ec4103=Signature certificate not contained in the CMS signature. -ec4104=Signed data not contained in the CMS signature or XML request. -ec4105=XML document containing the signature to be verified cannot be resolved. -ec4106=XML document containing the signature to be verified cannot be parsed. -ec4107=There is no XML signature at the specified location within the XML document. -ec4108=Encrypted date cannot be inserted in the existing XML document at the specified location. -ec4109=Existing XML document is required but missing. -ec4110=Existing XML document cannot be resolved. -ec4111=Existing XML document cannot be parsed. -ec4112=Encrypted data encryption keys cannot be inserted in the existing XML document at the specified location. -ec4113=Data to be decrypted not contained in either the CMS message or XML request. -ec4114=XML document to be decrypted cannot be resolved. -ec4115=XML document to be decrypted cannot be parsed. -ec4116=At least one specified encryption element cannot be found in the XML document to be decrypted. -ec4117=No encryption element for binary response. -ec4118=Date to be hashed cannot be resolved. -ec4119=Date for which the hash value is to be verified cannot be resolved. -ec4120=Selected info box identifier already allocated. -ec4121=Info box with specified identifier does not exist. -ec4122=Contents of the selected info box cannot be displayed as XML. -ec4123=Associative array: No entry for the specified key. -ec5000=Unclassified error in the viewer component. -ec5001=Display of data of the mime type specified in the command request not supported. -ec5002=Character encoding of the data to be displayed is invalid or not supported. -ec5003=Data to be displayed contains unsupported characters. -ec5004=Standard display format: HTML does not conform to specification. -ec5005=Standard display format: CSS does not conform to specification. -ec5006=Standard display format: Format of an embedded image does not conform to specification. -ec5007=Standard display format: Signature for embedded images missing or does not conform to specification. -ec6000=Unclassified cancelling by the citizen. -ec6001=Cancelled by the citizen via the user interface. -ec6002=Cancelled because of insufficient rights to execute command. - -# 3xxx -# - -ec3000.unclassified=Error in the XML structure of the command request. {0} -ec3002.invalid=XML structure of the command request does not comply with the Security Layer schema. {0}  - -# 4xxx -# - -ec4000.infobox.invalid=The infobox '{0}' contains invalid content. -ec4000.idlink.transfomation.failed=Failed to transform CompressedIdentityLink with Stylesheet {0}. -ec4002.infobox.unknown=Unknown info box identifier {0}. -ec4003.not.resolved=Data to be signed cannot be resolved from URI={0}. -ec4011.notimplemented=Command {0} not implemented. +test.noerror=Das ist eine Test-Fehlermeldung. Es ist kein Fehler aufgetreten.
 +
 +ec1000=Unklassifizierter Fehler.
 +ec2000=Unklassifizierter Fehler in der Transportbindung.
 +ec2001=HTTP/HTTPS-Bindung: DataURL kann nicht aufgelöst werden.
 +ec2002=HTTP/HTTPS-Bindung: StylesheetURL kann nicht aufgelöst werden.
 +ec2003=HTTP/HTTPS-Bindung: RedirectURL kann nicht aufgelöst werden.
 +ec2004=HTTP/HTTPS-Bindung: Parameter XMLRequest fehlt.
 +ec2005=HTTP/HTTPS-Bindung: Unbekannte Kodierung der Parameter.
 +ec2006=HTTP/HTTPS-Bindung: Fehlerhafte Kodierung der Parameter.
 +ec2007=HTTP/HTTPS-Bindung: DataURL-Server sendet Fehler oder unerwartete Antwort.
 +ec2008=HTTP/HTTPS-Bindung: Fehler im Stylesheet, der von der StylesheetURL bezogen wurde.
 +ec2009=HTTP/HTTPS-Bindung: HTTP-Anfrage an lokale BKU wurde an unerlaubte URL gerichtet.
 +ec2010=HTTPS-Bindung: Fehler beim Aufbau der TLS-Verbindung.
 +ec3000=Unklassifizierter Fehler in der XML-Struktur der Befehlsanfrage.
 +ec3001=XML-Struktur der Befehlsanfrage ist nicht wohlgeformt.
 +ec3002=XML-Struktur der Befehlsanfrage entspricht nicht dem Schema des Security-Layers.
 +ec3003=XML-Struktur der Befehlsanfrage enthält eine unerlaubte Kombination aus optionalen Elementen oder Attributen.
 +ec3004=XML-Struktur enthält ein Element oder Attribut, dessen Syntax nicht der Spezifikation des Security-Layer entspricht.
 +ec3005=Protokollversion des Security-Layer wird nicht unterstützt.
 +ec4000=Unklassifizierter Fehler in der Befehlsabarbeitung.
 +ec4001=Unbekannter Keyboxbezeichner.
 +ec4002=Unbekannter Infoboxbezeichner.
 +ec4003=Zu signierendes Datum kann nicht aufgelöst werden.
 +ec4004=Ergänzungsobjekt kann nicht aufgelöst werden.
 +ec4005=Zu verschlüsselndes Datum kann nicht aufgelöst werden.
 +ec4006=Algorithmus (Signatur, Verschlüsselung, Digest, Kanonisierung, Transformation) wird nicht unterstützt.
 +ec4007=Fehler bei der Algorithmusausführung (Signatur, Verschlüsselung, Digest, Kanonisierung, Transformation).
 +ec4008=Fehler beim Parsen der CMS-Nachricht.
 +ec4009=Kein passender Entschlüsselungsschlüssel vorhanden.
 +ec4010=Parameter des Infobox-Befehls passen nicht zum Typ der Infobox.
 +ec4011=Befehl ist nicht implementiert.
 +ec4100=XML-Dokument, in das die Signatur integriert werden soll, kann nicht aufgelöst werden.
 +ec4101=XML-Dokument, in das die Signatur integriert werden soll, kann nicht geparst werden.
 +ec4102=Signatur kann nicht am spezifizierten Ort in das bestehende XML-Dokument integriert werden.
 +ec4103=Signatorzertifikat ist nicht in der CMS-Signatur enthalten.
 +ec4104=Signierte Daten sind weder in der CMS-Signatur noch im XML-Request enthalten.
 +ec4105=XML-Dokument, das die zu prüfende Signatur enthält, kann nicht aufgelöst werden.
 +ec4106=XML-Dokument, das die zu prüfende Signatur enthält, kann nicht geparst werden.
 +ec4107=Am spezifizierten Ort innerhalb des XML-Dokuments befindet sich keine XML-Signatur.
 +ec4108=Verschlüsseltes Datum kann nicht am spezifizierten Ort in das bestehende XML-Dokument eingefügt werden.
 +ec4109=Bestehendes XML-Dokument ist notwendig, aber nicht vorhanden.
 +ec4110=Bestehendes XML-Dokument kann nicht aufgelöst werden.
 +ec4111=Bestehendes XML-Dokument kann nicht geparst werden.
 +ec4112=Verschlüsselte Datenverschlüsselungsschlüssel können nicht am spezifizierten Ort in das bestehende XML-Dokument eingefügt werden.
 +ec4113=Zu entschlüsselnde Daten sind weder in der CMS-Nachricht noch im XML-Request enthalten.
 +ec4114=Zu entschlüsselndes XML-Dokument kann nicht aufgelöst werden.
 +ec4115=Zu entschlüsselndes XML-Dokument kann nicht geparst werden.
 +ec4116=Zumindest ein spezifiziertes Verschlüsselungselement kann nicht im zu entschlüsselnden XML-Dokument gefunden werden.
 +ec4117=Kein Verschlüsselungselement für Binärantwort vorhanden.
 +ec4118=Zu hashendes Datum kann nicht aufgelöst werden.
 +ec4119=Datum, für das der Hashwert zu prüfen ist, kann nicht aufgelöst werden.
 +ec4120=Gewählter Infoboxbezeichner bereits vergeben.
 +ec4121=Infobox mit spezifiziertem Bezeichner existiert nicht.
 +ec4122=Inhalt der ausgewählten Infobox kann nicht als XML dargestellt werden.
 +ec4123=Assoziatives Array: Zum spezifizierten Schlüssel existiert kein Eintrag.
 +ec5000=Unklassifizierter Fehler in der Anzeigekomponente.
 +ec5001=Anzeige von Daten des in der Befehlsanfrage angegebenen Mime-Types wird nicht unterstützt.
 +ec5002=Zeichenkodierung der anzuzeigenden Daten ist fehlerhaft oder wird nicht unterstützt.
 +ec5003=Anzuzeigende Daten enhalten nicht unterstützte Zeichen.
 +ec5004=Standardanzeigeformat: HTML ist nicht spezifikationskonform.
 +ec5005=Standardanzeigeformat: CSS ist nicht spezifikationskonform.
 +ec5006=Standardanzeigeformat: Format eines eingebundenen Bildes ist nicht spezifikationskonform.
 +ec5007=Standardanzeigeformat: Signatur über eingebundene Bilder fehlt oder ist nicht spezifikationskonform.
 +ec6000=Unklassifizierter Abbruch durch den Bürger.
 +ec6001=Abbruch durch den Bürger über die Benutzerschnittstelle.
 +ec6002=Abbruch auf Grund mangelnder Rechte zur Befehlsausführung.
 +
 +# 3xxx
 +#
 +
 +ec3000.unclassified=Unklassifizierter Fehler in der XML-Struktur der Befehlsanfrage. {0}
 +ec3002.invalid=XML-Struktur der Befehlsanfrage entspricht nicht dem Schema des Security-Layers. {0} 
 +
 +# 4xxx
 +#
 +
 +ec4000.infobox.invalid=Die Infobox '{0}' enthält ungültige Daten.
 +ec4000.idlink.transfomation.failed=Die komprimierte Personenbindung konnte mit dem Stylesheet {0} nicht transformiert werden.
 +ec4002.infobox.unknown=Unbekannter Infoboxbezeichner {0}.
 +ec4003.not.resolved=Zu signierendes Datum kann nicht aufgelöst werden (URI={0}).
 +ec4011.notimplemented=Befehl {0} ist nicht implementiert.
 +
 diff --git a/bkucommon/src/main/resources/at/gv/egiz/bku/slexceptions/SLExceptionMessages_en.properties b/bkucommon/src/main/resources/at/gv/egiz/bku/slexceptions/SLExceptionMessages_en.properties new file mode 100644 index 00000000..8e0a09bc --- /dev/null +++ b/bkucommon/src/main/resources/at/gv/egiz/bku/slexceptions/SLExceptionMessages_en.properties @@ -0,0 +1,97 @@ +# Copyright 2008 Federal Chancellery Austria and +# Graz University of Technology +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +#     http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +test.noerror=This is a test error-message. No error occurred. + +ec1000=Unclassified error. +ec2000=Unclassified error in the transport binding. +ec2001=HTTP/HTTPS binding: DataURL cannot be resolved. +ec2002=HTTP/HTTPS binding: StylesheetURL cannot be resolved. +ec2003=HTTP/HTTPS binding: RedirectURL cannot be resolved. +ec2004=HTTP/HTTPS binding: XMLRequest parameter missing. +ec2005=HTTP/HTTPS binding: Unknown parameter encoding. +ec2006=HTTP/HTTPS binding: Incorrect parameter encoding. +ec2007=HTTP/HTTPS binding: DataURL server transmits error or unexpected response. +ec2008=HTTP/HTTPS binding: Error in stylesheet obtained from the StylesheetURL. +ec2009=HTTP/HTTPS binding: HTTP request to local CCE directed to unauthorised URL. +ec2010=HTTPS binding: Error while establishing the TLS connection. +ec3000=Unclassified error in the XML structure of the command request. +ec3001=XML structure of the command request is not well formed. +ec3002=XML structure of the command request does not comply with the Security Layer schema. +ec3003=XML structure of the command request contains an invalid combination of optional elements or attributes. +ec3004=XML structure contains an element or attribute whose syntax does not match the Security Layer specification. +ec3005=Protocol version of Security Layer not supported. +ec4000=Unclassified error while processing command. +ec4001=Unknown key box identifier. +ec4002=Unknown info box identifier. +ec4003=Date to be signed cannot be resolved. +ec4004=Supplementary object cannot be resolved. +ec4005=Date to be encrypted cannot be resolved. +ec4006=Algorithm (signature, encryption, digest, canonicalisation, transformation) not supported. +ec4007=Error while executing algorithm (signature, encryption, digest, canonicalisation, transformation). +ec4008=Error while parsing CMS message +ec4009=No matching decryption key. +ec4010=Info box command parameters do not match info box type. +ec4011=Command not implemented. +ec4100=XML document in which the signature is to be integrated cannot be resolved. +ec4101=XML document in which the signature is to be integrated cannot be parsed. +ec4102=Signature cannot be integrated in the existing XML document at the specified location. +ec4103=Signature certificate not contained in the CMS signature. +ec4104=Signed data not contained in the CMS signature or XML request. +ec4105=XML document containing the signature to be verified cannot be resolved. +ec4106=XML document containing the signature to be verified cannot be parsed. +ec4107=There is no XML signature at the specified location within the XML document. +ec4108=Encrypted date cannot be inserted in the existing XML document at the specified location. +ec4109=Existing XML document is required but missing. +ec4110=Existing XML document cannot be resolved. +ec4111=Existing XML document cannot be parsed. +ec4112=Encrypted data encryption keys cannot be inserted in the existing XML document at the specified location. +ec4113=Data to be decrypted not contained in either the CMS message or XML request. +ec4114=XML document to be decrypted cannot be resolved. +ec4115=XML document to be decrypted cannot be parsed. +ec4116=At least one specified encryption element cannot be found in the XML document to be decrypted. +ec4117=No encryption element for binary response. +ec4118=Date to be hashed cannot be resolved. +ec4119=Date for which the hash value is to be verified cannot be resolved. +ec4120=Selected info box identifier already allocated. +ec4121=Info box with specified identifier does not exist. +ec4122=Contents of the selected info box cannot be displayed as XML. +ec4123=Associative array: No entry for the specified key. +ec5000=Unclassified error in the viewer component. +ec5001=Display of data of the mime type specified in the command request not supported. +ec5002=Character encoding of the data to be displayed is invalid or not supported. +ec5003=Data to be displayed contains unsupported characters. +ec5004=Standard display format: HTML does not conform to specification. +ec5005=Standard display format: CSS does not conform to specification. +ec5006=Standard display format: Format of an embedded image does not conform to specification. +ec5007=Standard display format: Signature for embedded images missing or does not conform to specification. +ec6000=Unclassified cancelling by the citizen. +ec6001=Cancelled by the citizen via the user interface. +ec6002=Cancelled because of insufficient rights to execute command. + +# 3xxx +# + +ec3000.unclassified=Error in the XML structure of the command request. {0} +ec3002.invalid=XML structure of the command request does not comply with the Security Layer schema. {0}  + +# 4xxx +# + +ec4000.infobox.invalid=The infobox '{0}' contains invalid content. +ec4000.idlink.transfomation.failed=Failed to transform CompressedIdentityLink with Stylesheet {0}. +ec4002.infobox.unknown=Unknown info box identifier {0}. +ec4003.not.resolved=Data to be signed cannot be resolved from URI={0}. +ec4011.notimplemented=Command {0} not implemented. diff --git a/bkucommon/src/test/java/at/gv/egiz/bku/binding/TestDataUrlConnection.java b/bkucommon/src/test/java/at/gv/egiz/bku/binding/TestDataUrlConnection.java index 45e38674..8a607b80 100644 --- a/bkucommon/src/test/java/at/gv/egiz/bku/binding/TestDataUrlConnection.java +++ b/bkucommon/src/test/java/at/gv/egiz/bku/binding/TestDataUrlConnection.java @@ -25,6 +25,7 @@ import java.security.cert.X509Certificate;  import java.util.Collections;
  import java.util.HashMap;
  import java.util.Map;
 +import java.util.Properties;  import org.apache.commons.logging.Log;
  import org.apache.commons.logging.LogFactory;
 @@ -124,5 +125,11 @@ public class TestDataUrlConnection implements DataUrlConnectionSPI {  	@Override  	public URL getUrl() {  		return url; -	}
 +	} + +  @Override +  public void setConfiguration(Properties config) { +    // TODO Auto-generated method stub +     +  }
   }
 | 
