sepafm 1.0.1 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
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>