sepafm 1.0.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +6 -0
  3. data/.travis.yml +1 -1
  4. data/lib/sepa/application_request.rb +30 -31
  5. data/lib/sepa/attribute_checks.rb +44 -15
  6. data/lib/sepa/banks/danske/danske_response.rb +21 -0
  7. data/lib/sepa/banks/danske/soap_danske.rb +7 -18
  8. data/lib/sepa/banks/nordea/nordea_response.rb +13 -0
  9. data/lib/sepa/banks/nordea/soap_nordea.rb +3 -63
  10. data/lib/sepa/banks/op/op_response.rb +76 -0
  11. data/lib/sepa/banks/op/soap_op.rb +14 -0
  12. data/lib/sepa/certificates/op_root_certificate.cer +30 -0
  13. data/lib/sepa/client.rb +20 -26
  14. data/lib/sepa/response.rb +28 -7
  15. data/lib/sepa/soap_builder.rb +65 -8
  16. data/lib/sepa/utilities.rb +8 -21
  17. data/lib/sepa/version.rb +1 -1
  18. data/lib/sepa/wsdl/wsdl_op_cert_production.xml +156 -0
  19. data/lib/sepa/wsdl/wsdl_op_cert_test.xml +157 -0
  20. data/lib/sepa/wsdl/wsdl_op_production.xml +234 -0
  21. data/lib/sepa/wsdl/wsdl_op_test.xml +234 -0
  22. data/lib/sepa/xml_schemas/op/ApplicationRequest_20080918.xsd +135 -0
  23. data/lib/sepa/xml_schemas/op/ApplicationResponse_20080918.xsd +311 -0
  24. data/lib/sepa/xml_schemas/op/CertApplicationRequest_200812.xsd +105 -0
  25. data/lib/sepa/xml_schemas/op/CertApplicationResponse_200812.xsd +88 -0
  26. data/lib/sepa/xml_templates/application_request/{create_certificate.xml → danske/create_certificate.xml} +8 -8
  27. data/lib/sepa/xml_templates/application_request/{danske_get_bank_certificate.xml → danske/get_bank_certificate.xml} +3 -3
  28. data/lib/sepa/xml_templates/application_request/download_file.xml +10 -11
  29. data/lib/sepa/xml_templates/application_request/download_file_list.xml +9 -10
  30. data/lib/sepa/xml_templates/application_request/nordea/get_certificate.xml +11 -0
  31. data/lib/sepa/xml_templates/application_request/op/get_certificate.xml +12 -0
  32. data/lib/sepa/xml_templates/application_request/op/get_service_certificates.xml +10 -0
  33. data/lib/sepa/xml_templates/soap/{create_certificate.xml → danske/create_certificate.xml} +6 -6
  34. data/lib/sepa/xml_templates/soap/{danske_get_bank_certificate.xml → danske/get_bank_certificate.xml} +5 -5
  35. data/lib/sepa/xml_templates/soap/nordea/get_certificate.xml +15 -0
  36. data/lib/sepa/xml_templates/soap/op/get_certificate.xml +14 -0
  37. data/lib/sepa/xml_templates/soap/op/get_service_certificates.xml +14 -0
  38. data/lib/sepafm.rb +36 -0
  39. data/readme.md +9 -6
  40. data/sepafm.gemspec +8 -8
  41. data/test/custom_assertions.rb +20 -0
  42. data/test/sepa/banks/op/op_application_request_test.rb +63 -0
  43. data/test/sepa/banks/op/op_cert_application_request_test.rb +77 -0
  44. data/test/sepa/banks/op/op_cert_request_soap_builder_test.rb +62 -0
  45. data/test/sepa/banks/op/op_generic_soap_builder_test.rb +52 -0
  46. data/test/sepa/banks/op/op_response_test.rb +13 -0
  47. data/test/sepa/client_test.rb +35 -1
  48. data/test/sepa/fixtures.rb +82 -0
  49. data/test/sepa/sepa_test.rb +1 -1
  50. data/test/test_helper.rb +1 -0
  51. data/test_client/data/certs_example.rb +9 -0
  52. data/test_client/data/params_example.rb +110 -0
  53. data/test_client/test_client.rb +61 -0
  54. metadata +42 -12
  55. data/lib/sepa/xml_templates/application_request/get_certificate.xml +0 -11
  56. data/lib/sepa/xml_templates/soap/get_certificate.xml +0 -14
@@ -48,12 +48,48 @@ module Sepa
48
48
 
49
49
  # Extends the class with proper module depending on bank
50
50
  def find_correct_bank_extension
51
- case @bank
52
- when :danske
53
- self.extend(DanskeSoapRequest)
54
- when :nordea
55
- self.extend(NordeaSoapRequest)
56
- end
51
+ extend("Sepa::#{@bank.capitalize}SoapRequest".constantize)
52
+ end
53
+
54
+ # Determines which soap request to build based on command. Certificate requests are built
55
+ # differently than generic requests.
56
+ #
57
+ # @return [Nokogiri::XML] the soap as a nokogiri document
58
+ def find_correct_build
59
+ STANDARD_COMMANDS.include?(@command) ? build_common_request : build_certificate_request
60
+ end
61
+
62
+ # Builds generic request which is a request made with commands:
63
+ # * Get User Info
64
+ # * Download File
65
+ # * Download File List
66
+ # * Upload File
67
+ #
68
+ # @return [Nokogiri::XML] the generic request soap
69
+ def build_common_request
70
+ common_set_body_contents
71
+ set_receiver_id
72
+ process_header
73
+ add_body_to_header
74
+ end
75
+
76
+ # Sets contents for certificate request
77
+ #
78
+ # @return [Nokogiri::XML] the template with contents added to it
79
+ def build_certificate_request
80
+ set_body_contents
81
+ end
82
+
83
+ # Sets soap body contents. Application request is base64 encoded here.
84
+ #
85
+ # @return [Nokogiri::XML] the soap with contents added to it
86
+ def set_body_contents
87
+ set_node @template, "ApplicationRequest", @application_request.to_base64, namespace: cert_ns
88
+ set_node @template, "SenderId", @customer_id, namespace: cert_ns
89
+ set_node @template, "RequestId", request_id, namespace: cert_ns
90
+ set_node @template, "Timestamp", iso_time, namespace: cert_ns
91
+
92
+ @template
57
93
  end
58
94
 
59
95
  # Calculates digest hash for the given node in the given document. The node is canonicalized
@@ -108,8 +144,12 @@ module Sepa
108
144
  # @param doc [Nokogiri::XML] The document that contains the node
109
145
  # @param node [String] The name of the node which value is about to be set
110
146
  # @param value [#to_s] The value which will be set to the node
111
- def set_node(doc, node, value)
112
- doc.at_css(node).content = value
147
+ def set_node(doc, node, value, namespace: nil)
148
+ if namespace
149
+ doc.at("xmlns|#{node}", xmlns: namespace).content = value
150
+ else
151
+ doc.at(node).content = value
152
+ end
113
153
  end
114
154
 
115
155
  # Adds soap body to header template
@@ -166,5 +206,22 @@ module Sepa
166
206
  @header_template.at('wsse|Reference')['URI'] = "##{security_token_id}"
167
207
  end
168
208
 
209
+ # Generates a random request id
210
+ #
211
+ # @return [String] hexnumeric request id
212
+ def request_id
213
+ SecureRandom.hex(17)
214
+ end
215
+
216
+ # Sets nodes for generic requests, application request is base64 encoded here.
217
+ def common_set_body_contents
218
+ set_node @template, 'bxd|ApplicationRequest', @application_request.to_base64
219
+ set_node @template, 'bxd|SenderId', @customer_id
220
+ set_node @template, 'bxd|RequestId', request_id
221
+ set_node @template, 'bxd|Timestamp', iso_time
222
+ set_node @template, 'bxd|Language', @language
223
+ set_node @template, 'bxd|UserAgent', "Sepa Transfer Library version #{VERSION}"
224
+ end
225
+
169
226
  end
170
227
  end
@@ -120,28 +120,15 @@ module Sepa
120
120
  # @return [Nokogiri::XML::Document] the loaded template
121
121
  # @raise [ArgumentError] if a template cannot be found for a command
122
122
  def load_body_template(template)
123
- path = "#{template}/"
124
-
125
- case @command
126
- when :download_file_list
127
- path << "download_file_list.xml"
128
- when :get_user_info
129
- path << "get_user_info.xml"
130
- when :upload_file
131
- path << "upload_file.xml"
132
- when :download_file
133
- path << "download_file.xml"
134
- when :get_certificate
135
- path << "get_certificate.xml"
136
- when :get_bank_certificate
137
- path << "danske_get_bank_certificate.xml"
138
- when :create_certificate
139
- path << "create_certificate.xml"
140
- else
141
- fail ArgumentError
142
- end
123
+ fail ArgumentError, 'Unsupported command' unless SUPPORTED_COMMANDS.include?(@command)
124
+
125
+ file = if STANDARD_COMMANDS.include?(@command)
126
+ "#{template}/#{@command}.xml"
127
+ else
128
+ "#{template}/#{@bank}/#{@command}.xml"
129
+ end
143
130
 
144
- xml_doc(File.open(path))
131
+ xml_doc(File.open(file))
145
132
  end
146
133
 
147
134
  # Gets current utc time in iso-format
data/lib/sepa/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Sepa
2
2
 
3
3
  # The current version of the gem
4
- VERSION = "1.0.1"
4
+ VERSION = "1.1.0"
5
5
  end
@@ -0,0 +1,156 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <wsdl:definitions targetNamespace="http://mlp.op.fi/OPCertificateService" xmlns:tns="http://mlp.op.fi/OPCertificateService" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
3
+ <wsdl:types>
4
+ <xsd:schema targetNamespace="http://mlp.op.fi/OPCertificateService" elementFormDefault="qualified" attributeFormDefault="qualified">
5
+ <xsd:complexType name="CertificateRequestHeader">
6
+ <xsd:sequence>
7
+ <xsd:element name="SenderId" type="xsd:string" nillable="false"/>
8
+ <xsd:element name="RequestId" type="xsd:string" nillable="false"/>
9
+ <xsd:element name="Timestamp" type="xsd:dateTime" nillable="false"/>
10
+ </xsd:sequence>
11
+ </xsd:complexType>
12
+ <xsd:complexType name="CertificateResponseHeader">
13
+ <xsd:sequence>
14
+ <xsd:element name="SenderId" type="xsd:string" nillable="false"/>
15
+ <xsd:element name="RequestId" type="xsd:string" nillable="false"/>
16
+ <xsd:element name="Timestamp" type="xsd:dateTime" nillable="false"/>
17
+ <xsd:element name="ResponseCode" type="xsd:string" nillable="true"/>
18
+ <xsd:element name="ResponseText" type="xsd:string" nillable="true"/>
19
+ </xsd:sequence>
20
+ </xsd:complexType>
21
+ <xsd:complexType name="GetCertificateRequest">
22
+ <xsd:sequence>
23
+ <xsd:element name="RequestHeader" type="tns:CertificateRequestHeader" nillable="false"/>
24
+ <xsd:element name="ApplicationRequest" type="xsd:base64Binary" nillable="false"/>
25
+ </xsd:sequence>
26
+ </xsd:complexType>
27
+ <xsd:complexType name="GetCertificateResponse">
28
+ <xsd:sequence>
29
+ <xsd:element name="ResponseHeader" type="tns:CertificateResponseHeader" nillable="false"/>
30
+ <xsd:element name="ApplicationResponse" type="xsd:base64Binary" nillable="false"/>
31
+ </xsd:sequence>
32
+ </xsd:complexType>
33
+ <xsd:complexType name="GetServiceCertificatesRequest">
34
+ <xsd:sequence>
35
+ <xsd:element name="RequestHeader" type="tns:CertificateRequestHeader" nillable="false"/>
36
+ <xsd:element name="ApplicationRequest" type="xsd:base64Binary" nillable="false"/>
37
+ </xsd:sequence>
38
+ </xsd:complexType>
39
+ <xsd:complexType name="GetServiceCertificatesResponse">
40
+ <xsd:sequence>
41
+ <xsd:element name="ResponseHeader" type="tns:CertificateResponseHeader" nillable="false"/>
42
+ <xsd:element name="ApplicationResponse" type="xsd:base64Binary" nillable="false"/>
43
+ </xsd:sequence>
44
+ </xsd:complexType>
45
+ <xsd:complexType name="RevokeCertificateRequest">
46
+ <xsd:sequence>
47
+ <xsd:element name="RequestHeader" type="tns:CertificateRequestHeader" nillable="false"/>
48
+ <xsd:element name="ApplicationRequest" type="xsd:base64Binary" nillable="false"/>
49
+ </xsd:sequence>
50
+ </xsd:complexType>
51
+ <xsd:complexType name="RevokeCertificateResponse">
52
+ <xsd:sequence>
53
+ <xsd:element name="ResponseHeader" type="tns:CertificateResponseHeader" nillable="false"/>
54
+ <xsd:element name="ApplicationResponse" type="xsd:base64Binary" nillable="false"/>
55
+ </xsd:sequence>
56
+ </xsd:complexType>
57
+ <xsd:complexType name="CertificateServiceFaultDetail">
58
+ <xsd:sequence>
59
+ <xsd:element minOccurs="0" maxOccurs="1" name="category" type="xsd:string"/>
60
+ <xsd:element minOccurs="0" maxOccurs="1" name="code" type="xsd:string"/>
61
+ </xsd:sequence>
62
+ </xsd:complexType>
63
+ </xsd:schema>
64
+ <xsd:schema targetNamespace="http://mlp.op.fi/OPCertificateService" elementFormDefault="qualified" attributeFormDefault="qualified">
65
+ <xsd:element name="getCertificatein" type="tns:GetCertificateRequest"/>
66
+ <xsd:element name="getCertificateout" type="tns:GetCertificateResponse"/>
67
+ <xsd:element name="getServiceCertificatesin" type="tns:GetServiceCertificatesRequest"/>
68
+ <xsd:element name="getServiceCertificatesout" type="tns:GetServiceCertificatesResponse"/>
69
+ <xsd:element name="revokeCertificatein" type="tns:RevokeCertificateRequest"/>
70
+ <xsd:element name="revokeCertificateout" type="tns:RevokeCertificateResponse"/>
71
+ <xsd:element name="certificateServiceFaultElement" type="tns:CertificateServiceFaultDetail"/>
72
+ </xsd:schema>
73
+ </wsdl:types>
74
+ <wsdl:message name="certificateServiceFault">
75
+ <wsdl:part name="certificateServiceFault" element="tns:certificateServiceFaultElement"/>
76
+ </wsdl:message>
77
+ <wsdl:message name="getCertificateRequest">
78
+ <wsdl:part element="tns:getCertificatein" name="getCertificatein"/>
79
+ </wsdl:message>
80
+ <wsdl:message name="getCertificateResponse">
81
+ <wsdl:part element="tns:getCertificateout" name="getCertificateout"/>
82
+ </wsdl:message>
83
+ <wsdl:message name="getServiceCertificatesRequest">
84
+ <wsdl:part element="tns:getServiceCertificatesin" name="getServiceCertificatesin"/>
85
+ </wsdl:message>
86
+ <wsdl:message name="getServiceCertificatesResponse">
87
+ <wsdl:part element="tns:getServiceCertificatesout" name="getServiceCertificatesout"/>
88
+ </wsdl:message>
89
+ <wsdl:message name="revokeCertificateRequest">
90
+ <wsdl:part element="tns:revokeCertificatein" name="revokeCertificatein"/>
91
+ </wsdl:message>
92
+ <wsdl:message name="revokeCertificateResponse">
93
+ <wsdl:part element="tns:revokeCertificateout" name="revokeCertificateout"/>
94
+ </wsdl:message>
95
+ <wsdl:portType name="OPCertificateServicePortType">
96
+ <wsdl:operation name="getCertificate">
97
+ <wsdl:input message="tns:getCertificateRequest" name="getCertificateRequest"/>
98
+ <wsdl:output message="tns:getCertificateResponse" name="getCertificateResponse"/>
99
+ <wsdl:fault message="tns:certificateServiceFault" name="certificateServiceFault"/>
100
+ </wsdl:operation>
101
+ <wsdl:operation name="getServiceCertificates">
102
+ <wsdl:input message="tns:getServiceCertificatesRequest" name="getServiceCertificatesRequest"/>
103
+ <wsdl:output message="tns:getServiceCertificatesResponse" name="getServiceCertificatesResponse"/>
104
+ <wsdl:fault message="tns:certificateServiceFault" name="certificateServiceFault"/>
105
+ </wsdl:operation>
106
+ <wsdl:operation name="revokeCertificate">
107
+ <wsdl:input message="tns:revokeCertificateRequest" name="revokeCertificateRequest"/>
108
+ <wsdl:output message="tns:revokeCertificateResponse" name="revokeCertificateResponse"/>
109
+ <wsdl:fault message="tns:certificateServiceFault" name="certificateServiceFault"/>
110
+ </wsdl:operation>
111
+ </wsdl:portType>
112
+ <wsdl:binding name="OPCertificateServiceHttpBinding" type="tns:OPCertificateServicePortType">
113
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
114
+ <wsdl:operation name="getCertificate">
115
+ <soap:operation soapAction=""/>
116
+ <wsdl:input name="getCertificateRequest">
117
+ <soap:body use="literal"/>
118
+ </wsdl:input>
119
+ <wsdl:output name="getCertificateResponse">
120
+ <soap:body use="literal"/>
121
+ </wsdl:output>
122
+ <wsdl:fault name="certificateServiceFault">
123
+ <soap:fault use="literal"/>
124
+ </wsdl:fault>
125
+ </wsdl:operation>
126
+ <wsdl:operation name="getServiceCertificates">
127
+ <soap:operation soapAction=""/>
128
+ <wsdl:input name="getServiceCertificatesRequest">
129
+ <soap:body use="literal"/>
130
+ </wsdl:input>
131
+ <wsdl:output name="getServiceCertificatesResponse">
132
+ <soap:body use="literal"/>
133
+ </wsdl:output>
134
+ <wsdl:fault name="certificateServiceFault">
135
+ <soap:fault use="literal"/>
136
+ </wsdl:fault>
137
+ </wsdl:operation>
138
+ <wsdl:operation name="revokeCertificate">
139
+ <soap:operation soapAction=""/>
140
+ <wsdl:input name="revokeCertificateRequest">
141
+ <soap:body use="literal"/>
142
+ </wsdl:input>
143
+ <wsdl:output name="revokeCertificateResponse">
144
+ <soap:body use="literal"/>
145
+ </wsdl:output>
146
+ <wsdl:fault name="certificateServiceFault">
147
+ <soap:fault use="literal"/>
148
+ </wsdl:fault>
149
+ </wsdl:operation>
150
+ </wsdl:binding>
151
+ <wsdl:service name="OPCertificateService">
152
+ <wsdl:port binding="tns:OPCertificateServiceHttpBinding" name="OPCertificateServiceHttpPort">
153
+ <soap:address location="https://wsk.op.fi/services/OPCertificateService"/>
154
+ </wsdl:port>
155
+ </wsdl:service>
156
+ </wsdl:definitions>
@@ -0,0 +1,157 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <wsdl:definitions targetNamespace="http://mlp.op.fi/OPCertificateService" xmlns:tns="http://mlp.op.fi/OPCertificateService" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
3
+ <wsdl:types>
4
+ <xsd:schema targetNamespace="http://mlp.op.fi/OPCertificateService" elementFormDefault="qualified" attributeFormDefault="qualified">
5
+ <xsd:complexType name="CertificateRequestHeader">
6
+ <xsd:sequence>
7
+ <xsd:element name="SenderId" type="xsd:string" nillable="false"/>
8
+ <xsd:element name="RequestId" type="xsd:string" nillable="false"/>
9
+ <xsd:element name="Timestamp" type="xsd:dateTime" nillable="false"/>
10
+ </xsd:sequence>
11
+ </xsd:complexType>
12
+ <xsd:complexType name="CertificateResponseHeader">
13
+ <xsd:sequence>
14
+ <xsd:element name="SenderId" type="xsd:string" nillable="false"/>
15
+ <xsd:element name="RequestId" type="xsd:string" nillable="false"/>
16
+ <xsd:element name="Timestamp" type="xsd:dateTime" nillable="false"/>
17
+ <xsd:element name="ResponseCode" type="xsd:string" nillable="true"/>
18
+ <xsd:element name="ResponseText" type="xsd:string" nillable="true"/>
19
+ </xsd:sequence>
20
+ </xsd:complexType>
21
+ <xsd:complexType name="GetCertificateRequest">
22
+ <xsd:sequence>
23
+ <xsd:element name="RequestHeader" type="tns:CertificateRequestHeader" nillable="false"/>
24
+ <xsd:element name="ApplicationRequest" type="xsd:base64Binary" nillable="false"/>
25
+ </xsd:sequence>
26
+ </xsd:complexType>
27
+ <xsd:complexType name="GetCertificateResponse">
28
+ <xsd:sequence>
29
+ <xsd:element name="ResponseHeader" type="tns:CertificateResponseHeader" nillable="false"/>
30
+ <xsd:element name="ApplicationResponse" type="xsd:base64Binary" nillable="false"/>
31
+ </xsd:sequence>
32
+ </xsd:complexType>
33
+ <xsd:complexType name="GetServiceCertificatesRequest">
34
+ <xsd:sequence>
35
+ <xsd:element name="RequestHeader" type="tns:CertificateRequestHeader" nillable="false"/>
36
+ <xsd:element name="ApplicationRequest" type="xsd:base64Binary" nillable="false"/>
37
+ </xsd:sequence>
38
+ </xsd:complexType>
39
+ <xsd:complexType name="GetServiceCertificatesResponse">
40
+ <xsd:sequence>
41
+ <xsd:element name="ResponseHeader" type="tns:CertificateResponseHeader" nillable="false"/>
42
+ <xsd:element name="ApplicationResponse" type="xsd:base64Binary" nillable="false"/>
43
+ </xsd:sequence>
44
+ </xsd:complexType>
45
+ <xsd:complexType name="RevokeCertificateRequest">
46
+ <xsd:sequence>
47
+ <xsd:element name="RequestHeader" type="tns:CertificateRequestHeader" nillable="false"/>
48
+ <xsd:element name="ApplicationRequest" type="xsd:base64Binary" nillable="false"/>
49
+ </xsd:sequence>
50
+ </xsd:complexType>
51
+ <xsd:complexType name="RevokeCertificateResponse">
52
+ <xsd:sequence>
53
+ <xsd:element name="ResponseHeader" type="tns:CertificateResponseHeader" nillable="false"/>
54
+ <xsd:element name="ApplicationResponse" type="xsd:base64Binary" nillable="false"/>
55
+ </xsd:sequence>
56
+ </xsd:complexType>
57
+ <xsd:complexType name="CertificateServiceFaultDetail">
58
+ <xsd:sequence>
59
+ <xsd:element minOccurs="0" maxOccurs="1" name="category" type="xsd:string"/>
60
+ <xsd:element minOccurs="0" maxOccurs="1" name="code" type="xsd:string"/>
61
+ </xsd:sequence>
62
+ </xsd:complexType>
63
+ </xsd:schema>
64
+ <xsd:schema targetNamespace="http://mlp.op.fi/OPCertificateService" elementFormDefault="qualified" attributeFormDefault="qualified">
65
+ <xsd:element name="getCertificatein" type="tns:GetCertificateRequest"/>
66
+ <xsd:element name="getCertificateout" type="tns:GetCertificateResponse"/>
67
+ <xsd:element name="getServiceCertificatesin" type="tns:GetServiceCertificatesRequest"/>
68
+ <xsd:element name="getServiceCertificatesout" type="tns:GetServiceCertificatesResponse"/>
69
+ <xsd:element name="revokeCertificatein" type="tns:RevokeCertificateRequest"/>
70
+ <xsd:element name="revokeCertificateout" type="tns:RevokeCertificateResponse"/>
71
+ <xsd:element name="certificateServiceFaultElement" type="tns:CertificateServiceFaultDetail"/>
72
+ </xsd:schema>
73
+ </wsdl:types>
74
+ <wsdl:message name="certificateServiceFault">
75
+ <wsdl:part name="certificateServiceFault" element="tns:certificateServiceFaultElement"/>
76
+ </wsdl:message>
77
+ <wsdl:message name="getCertificateRequest">
78
+ <wsdl:part element="tns:getCertificatein" name="getCertificatein"/>
79
+ </wsdl:message>
80
+ <wsdl:message name="getCertificateResponse">
81
+ <wsdl:part element="tns:getCertificateout" name="getCertificateout"/>
82
+ </wsdl:message>
83
+ <wsdl:message name="getServiceCertificatesRequest">
84
+ <wsdl:part element="tns:getServiceCertificatesin" name="getServiceCertificatesin"/>
85
+ </wsdl:message>
86
+ <wsdl:message name="getServiceCertificatesResponse">
87
+ <wsdl:part element="tns:getServiceCertificatesout" name="getServiceCertificatesout"/>
88
+ </wsdl:message>
89
+ <wsdl:message name="revokeCertificateRequest">
90
+ <wsdl:part element="tns:revokeCertificatein" name="revokeCertificatein"/>
91
+ </wsdl:message>
92
+ <wsdl:message name="revokeCertificateResponse">
93
+ <wsdl:part element="tns:revokeCertificateout" name="revokeCertificateout"/>
94
+ </wsdl:message>
95
+ <wsdl:portType name="OPCertificateServicePortType">
96
+ <wsdl:operation name="getCertificate">
97
+ <wsdl:input message="tns:getCertificateRequest" name="getCertificateRequest"/>
98
+ <wsdl:output message="tns:getCertificateResponse" name="getCertificateResponse"/>
99
+ <wsdl:fault message="tns:certificateServiceFault" name="certificateServiceFault"/>
100
+ </wsdl:operation>
101
+ <wsdl:operation name="getServiceCertificates">
102
+ <wsdl:input message="tns:getServiceCertificatesRequest" name="getServiceCertificatesRequest"/>
103
+ <wsdl:output message="tns:getServiceCertificatesResponse" name="getServiceCertificatesResponse"/>
104
+ <wsdl:fault message="tns:certificateServiceFault" name="certificateServiceFault"/>
105
+ </wsdl:operation>
106
+ <wsdl:operation name="revokeCertificate">
107
+ <wsdl:input message="tns:revokeCertificateRequest" name="revokeCertificateRequest"/>
108
+ <wsdl:output message="tns:revokeCertificateResponse" name="revokeCertificateResponse"/>
109
+ <wsdl:fault message="tns:certificateServiceFault" name="certificateServiceFault"/>
110
+ </wsdl:operation>
111
+ </wsdl:portType>
112
+ <wsdl:binding name="OPCertificateServiceHttpBinding" type="tns:OPCertificateServicePortType">
113
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
114
+ <wsdl:operation name="getCertificate">
115
+ <soap:operation soapAction=""/>
116
+ <wsdl:input name="getCertificateRequest">
117
+ <soap:body use="literal"/>
118
+ </wsdl:input>
119
+ <wsdl:output name="getCertificateResponse">
120
+ <soap:body use="literal"/>
121
+ </wsdl:output>
122
+ <wsdl:fault name="certificateServiceFault">
123
+ <soap:fault use="literal"/>
124
+ </wsdl:fault>
125
+ </wsdl:operation>
126
+ <wsdl:operation name="getServiceCertificates">
127
+ <soap:operation soapAction=""/>
128
+ <wsdl:input name="getServiceCertificatesRequest">
129
+ <soap:body use="literal"/>
130
+ </wsdl:input>
131
+ <wsdl:output name="getServiceCertificatesResponse">
132
+ <soap:body use="literal"/>
133
+ </wsdl:output>
134
+ <wsdl:fault name="certificateServiceFault">
135
+ <soap:fault use="literal"/>
136
+ </wsdl:fault>
137
+ </wsdl:operation>
138
+ <wsdl:operation name="revokeCertificate">
139
+ <soap:operation soapAction=""/>
140
+ <wsdl:input name="revokeCertificateRequest">
141
+ <soap:body use="literal"/>
142
+ </wsdl:input>
143
+ <wsdl:output name="revokeCertificateResponse">
144
+ <soap:body use="literal"/>
145
+ </wsdl:output>
146
+ <wsdl:fault name="certificateServiceFault">
147
+ <soap:fault use="literal"/>
148
+ </wsdl:fault>
149
+ </wsdl:operation>
150
+ </wsdl:binding>
151
+ <wsdl:service name="OPCertificateService">
152
+ <wsdl:port binding="tns:OPCertificateServiceHttpBinding" name="OPCertificateServiceHttpPort">
153
+ <soap:address location="https://wsk.asiakastesti.op.fi/services/OPCertificateService"/>
154
+ <!--soap:address location="http://xituo01-1.op.fi:2042/services/OPCertificateService"/-->
155
+ </wsdl:port>
156
+ </wsdl:service>
157
+ </wsdl:definitions>