Updated dom4j version because of security warnings.

This commit is contained in:
Ziver Koc 2021-06-21 12:22:03 +02:00
parent 985457be8d
commit e515fd7f87
4 changed files with 141 additions and 136 deletions

View file

@ -37,6 +37,6 @@ public class OpenAPIWriterTest {
OpenAPIWriter writer = new OpenAPIWriter(new WebServiceDef(SOAPTest.MainSOAPClass.class));
writer.addServer("example.com", "Main Server");
assertEquals("{\"components\": {\"schemas\": {\"SpecialReturnClass\": {\"type\": \"object\", \"properties\": {\"b\": {\"type\": \"array\", \"items\": {\"format\": \"byte\", \"type\": \"string\"}}, \"otherValue1\": {\"type\": \"string\"}, \"otherName2\": {\"type\": \"string\"}, \"inner\": {\"type\": \"object\", \"properties\": {\"innerClassParam2\": {\"type\": \"string\"}, \"innerClassParam1\": {\"type\": \"string\"}}}}}, \"SimpleReturnClass\": {\"type\": \"object\", \"properties\": {\"otherParam1\": {\"type\": \"string\"}, \"param2\": {\"type\": \"string\"}}}}}, \"servers\": [{\"description\": \"Main Server\", \"url\": \"example.com\"}], \"openapi\": \"3.0.1\", \"paths\": {\"/simpleReturnClassMethod\": {\"get\": {\"responses\": {\"200\": {\"description\": \"A successful response.\", \"content\": {\"application/json\": {\"schema\": {\"type\": \"object\", \"$ref\": \"#/components/schemas/SimpleReturnClass\"}}}}}, \"parameters\": [{\"schema\": {\"type\": \"string\"}, \"in\": \"query\", \"name\": \"byte\", \"required\": true}]}}, \"/exceptionMethod\": {\"get\": {\"description\": \"Documentation of method exceptionMethod()\", \"responses\": {\"200\": {\"description\": \"A successful response.\"}}, \"parameters\": [{\"schema\": {\"type\": \"integer\"}, \"in\": \"query\", \"name\": \"otherParam1\", \"required\": false}, {\"schema\": {\"type\": \"integer\"}, \"in\": \"query\", \"name\": \"otherParam2\", \"required\": false}]}}, \"/specialReturnMethod\": {\"get\": {\"responses\": {\"200\": {\"description\": \"A successful response.\", \"content\": {\"application/json\": {\"schema\": {\"type\": \"array\", \"items\": {\"type\": \"object\", \"$ref\": \"#/components/schemas/SpecialReturnClass\"}}}}}}, \"parameters\": [{\"schema\": {\"type\": \"string\"}, \"in\": \"query\", \"name\": \"StringName2\", \"required\": true}]}}, \"/stringArrayMethod\": {\"get\": {\"responses\": {\"200\": {\"description\": \"A successful response.\", \"content\": {\"application/json\": {\"schema\": {\"type\": \"array\", \"items\": {\"type\": \"array\", \"items\": {\"type\": \"string\"}}}}}}}, \"parameters\": [{\"schema\": {\"type\": \"string\"}, \"in\": \"query\", \"name\": \"StringName\", \"required\": true}]}}, \"/voidMethod\": {\"get\": {\"responses\": {\"200\": {\"description\": \"A successful response.\"}}, \"parameters\": []}}}, \"info\": {\"description\": \"\", \"title\": \"MainSOAPClass\", \"version\": \"\"}}", writer.write());
assertEquals("{\"components\": {\"schemas\": {\"SpecialReturnClass\": {\"type\": \"object\", \"properties\": {\"b\": {\"type\": \"array\", \"items\": {\"format\": \"byte\", \"type\": \"string\"}}, \"otherValue1\": {\"type\": \"string\"}, \"otherName2\": {\"type\": \"string\"}, \"inner\": {\"type\": \"object\", \"properties\": {\"innerClassParam2\": {\"type\": \"string\"}, \"innerClassParam1\": {\"type\": \"string\"}}}}}, \"SimpleReturnClass\": {\"type\": \"object\", \"properties\": {\"otherParam1\": {\"type\": \"string\"}, \"param2\": {\"type\": \"string\"}}}}}, \"servers\": [{\"description\": \"Main Server\", \"url\": \"example.com\"}], \"openapi\": \"3.0.1\", \"paths\": {\"/simpleReturnClassMethod\": {\"get\": {\"description\": \"null is the kala\", \"responses\": {\"200\": {\"description\": \"A successful response.\", \"content\": {\"application/json\": {\"schema\": {\"type\": \"object\", \"$ref\": \"#/components/schemas/SimpleReturnClass\"}}}}}, \"parameters\": [{\"schema\": {\"type\": \"string\"}, \"in\": \"query\", \"name\": \"byte\", \"required\": true}]}}, \"/exceptionMethod\": {\"get\": {\"description\": \"Documentation of method exceptionMethod()\", \"responses\": {\"200\": {\"description\": \"A successful response.\"}}, \"parameters\": [{\"schema\": {\"type\": \"integer\"}, \"in\": \"query\", \"name\": \"otherParam1\", \"required\": false}, {\"schema\": {\"type\": \"integer\"}, \"in\": \"query\", \"name\": \"otherParam2\", \"required\": false}]}}, \"/specialReturnMethod\": {\"get\": {\"description\": \"Documentation of specialReturnMethod()\", \"responses\": {\"200\": {\"description\": \"A successful response.\", \"content\": {\"application/json\": {\"schema\": {\"type\": \"array\", \"items\": {\"type\": \"object\", \"$ref\": \"#/components/schemas/SpecialReturnClass\"}}}}}}, \"parameters\": [{\"schema\": {\"type\": \"string\"}, \"in\": \"query\", \"name\": \"StringName2\", \"required\": true}]}}, \"/stringArrayMethod\": {\"get\": {\"description\": \"Documentation of stringArrayMethod()\", \"responses\": {\"200\": {\"description\": \"A successful response.\", \"content\": {\"application/json\": {\"schema\": {\"type\": \"array\", \"items\": {\"type\": \"array\", \"items\": {\"type\": \"string\"}}}}}}}, \"parameters\": [{\"schema\": {\"type\": \"string\"}, \"in\": \"query\", \"name\": \"StringName\", \"required\": true}]}}, \"/voidMethod\": {\"get\": {\"description\": \"void method documentation\", \"responses\": {\"200\": {\"description\": \"A successful response.\"}}, \"parameters\": []}}}, \"info\": {\"description\": \"\", \"title\": \"MainSOAPClass\", \"version\": \"\"}}", writer.write());
}
}

View file

@ -38,138 +38,143 @@ public class WSDLWriterTest {
writer.addService(new WSDLServiceSOAP("example.com"));
assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
"\n" +
"<wsdl:definitions xmlns:wsdl=\"http://schemas.xmlsoap.org/wsdl/\" xmlns:soap=\"http://schemas.xmlsoap.org/wsdl/soap/\" xmlns:http=\"http://schemas.xmlsoap.org/wsdl/http/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap-enc=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:tns=\"http://test.se:8080/type\" targetNamespace=\"http://test.se:8080\">\n" +
" <wsdl:types>\n" +
" <xsd:schema targetNamespace=\"http://test.se:8080/type\">\n" +
" <xsd:complexType name=\"empty\">\n" +
" <xsd:sequence/>\n" +
" </xsd:complexType>\n" +
" <xsd:complexType name=\"ArrayOfstring\">\n" +
" <xsd:sequence>\n" +
" <xsd:element minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"element\" nillable=\"true\" type=\"xsd:string\"/>\n" +
" </xsd:sequence>\n" +
" </xsd:complexType>\n" +
" <xsd:complexType name=\"ArrayOfSpecialReturnClass\">\n" +
" <xsd:sequence>\n" +
" <xsd:element minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"element\" nillable=\"true\" type=\"tns:SpecialReturnClass\"/>\n" +
" </xsd:sequence>\n" +
" </xsd:complexType>\n" +
" <xsd:complexType name=\"SpecialReturnClass\">\n" +
" <xsd:sequence>\n" +
" <xsd:element name=\"otherValue1\" type=\"xsd:string\"/>\n" +
" <xsd:element name=\"otherName2\" type=\"xsd:string\"/>\n" +
" <xsd:element name=\"field2\" type=\"xsd:base64Binary\"/>\n" +
" <xsd:element name=\"field3\" type=\"tns:InnerClass\"/>\n" +
" </xsd:sequence>\n" +
" </xsd:complexType>\n" +
" <xsd:complexType name=\"InnerClass\">\n" +
" <xsd:sequence>\n" +
" <xsd:element name=\"field0\" type=\"xsd:string\"/>\n" +
" <xsd:element name=\"field1\" type=\"xsd:string\"/>\n" +
" </xsd:sequence>\n" +
" </xsd:complexType>\n" +
" </xsd:schema>\n" +
" </wsdl:types>\n" +
" <wsdl:message name=\"stringArrayMethodRequest\">\n" +
" <wsdl:part name=\"StringName\" type=\"xsd:string\"/>\n" +
" </wsdl:message>\n" +
" <wsdl:message name=\"stringArrayMethodResponse\">\n" +
" <wsdl:part name=\"stringArray\" type=\"td:ArrayOfstring\"/>\n" +
" </wsdl:message>\n" +
" <wsdl:message name=\"simpleReturnClassMethodRequest\">\n" +
" <wsdl:part name=\"byte\" type=\"xsd:string\"/>\n" +
" </wsdl:message>\n" +
" <wsdl:message name=\"simpleReturnClassMethodResponse\">\n" +
" <wsdl:part name=\"otherParam1\" type=\"xsd:string\"/>\n" +
" <wsdl:part name=\"param2\" type=\"xsd:string\"/>\n" +
" </wsdl:message>\n" +
" <wsdl:message name=\"exceptionMethodRequest\">\n" +
" <wsdl:part name=\"otherParam1\" type=\"xsd:int\" minOccurs=\"0\"/>\n" +
" <wsdl:part name=\"otherParam2\" type=\"xsd:int\" minOccurs=\"0\"/>\n" +
" </wsdl:message>\n" +
" <wsdl:message name=\"specialReturnMethodRequest\">\n" +
" <wsdl:part name=\"StringName2\" type=\"xsd:string\"/>\n" +
" </wsdl:message>\n" +
" <wsdl:message name=\"specialReturnMethodResponse\">\n" +
" <wsdl:part name=\"specialReturnClass\" type=\"td:ArrayOfSpecialReturnClass\"/>\n" +
" </wsdl:message>\n" +
" <wsdl:message name=\"empty\">\n" +
" <wsdl:part name=\"empty\" type=\"td:empty\"/>\n" +
" </wsdl:message>\n" +
" <wsdl:message name=\"exception\">\n" +
" <wsdl:part name=\"exception\" type=\"td:string\"/>\n" +
" </wsdl:message>\n" +
" <wsdl:portType name=\"MainSOAPClassPortType\">\n" +
" <wsdl:operation name=\"stringArrayMethod\">\n" +
" <wsdl:input message=\"tns:stringArrayMethodRequest\"/>\n" +
" <wsdl:output message=\"tns:stringArrayMethodResponse\"/>\n" +
" <wsdl:fault message=\"tns:exception\"/>\n" +
" </wsdl:operation>\n" +
" <wsdl:operation name=\"simpleReturnClassMethod\">\n" +
" <wsdl:input message=\"tns:simpleReturnClassMethodRequest\"/>\n" +
" <wsdl:output message=\"tns:simpleReturnClassMethodResponse\"/>\n" +
" <wsdl:fault message=\"tns:exception\"/>\n" +
" </wsdl:operation>\n" +
" <wsdl:operation name=\"exceptionMethod\">\n" +
" <wsdl:documentation>Documentation of method exceptionMethod()</wsdl:documentation>\n" +
" <wsdl:input message=\"tns:exceptionMethodRequest\"/>\n" +
" </wsdl:operation>\n" +
" <wsdl:operation name=\"specialReturnMethod\">\n" +
" <wsdl:input message=\"tns:specialReturnMethodRequest\"/>\n" +
" <wsdl:output message=\"tns:specialReturnMethodResponse\"/>\n" +
" <wsdl:fault message=\"tns:exception\"/>\n" +
" </wsdl:operation>\n" +
" <wsdl:operation name=\"voidMethod\"/>\n" +
" </wsdl:portType>\n" +
" <wsdl:binding name=\"MainSOAPClassBinding\" type=\"tns:MainSOAPClassPortType\">\n" +
" <soap:binding style=\"rpc\" transport=\"http://schemas.xmlsoap.org/soap/http\"/>\n" +
" <wsdl:operation name=\"stringArrayMethod\">\n" +
" <soap:operation soapAction=\"http://test.se:8080/stringArrayMethod\"/>\n" +
" <wsdl:input>\n" +
" <soap:body use=\"literal\" namespace=\"http://test.se:8080/stringArrayMethod\"/>\n" +
" </wsdl:input>\n" +
" <wsdl:output>\n" +
" <soap:body use=\"literal\" namespace=\"http://test.se:8080/stringArrayMethod\"/>\n" +
" </wsdl:output>\n" +
" </wsdl:operation>\n" +
" <wsdl:operation name=\"simpleReturnClassMethod\">\n" +
" <soap:operation soapAction=\"http://test.se:8080/simpleReturnClassMethod\"/>\n" +
" <wsdl:input>\n" +
" <soap:body use=\"literal\" namespace=\"http://test.se:8080/simpleReturnClassMethod\"/>\n" +
" </wsdl:input>\n" +
" <wsdl:output>\n" +
" <soap:body use=\"literal\" namespace=\"http://test.se:8080/simpleReturnClassMethod\"/>\n" +
" </wsdl:output>\n" +
" </wsdl:operation>\n" +
" <wsdl:operation name=\"exceptionMethod\">\n" +
" <soap:operation soapAction=\"http://test.se:8080/exceptionMethod\"/>\n" +
" <wsdl:input>\n" +
" <soap:body use=\"literal\" namespace=\"http://test.se:8080/exceptionMethod\"/>\n" +
" </wsdl:input>\n" +
" </wsdl:operation>\n" +
" <wsdl:operation name=\"specialReturnMethod\">\n" +
" <soap:operation soapAction=\"http://test.se:8080/specialReturnMethod\"/>\n" +
" <wsdl:input>\n" +
" <soap:body use=\"literal\" namespace=\"http://test.se:8080/specialReturnMethod\"/>\n" +
" </wsdl:input>\n" +
" <wsdl:output>\n" +
" <soap:body use=\"literal\" namespace=\"http://test.se:8080/specialReturnMethod\"/>\n" +
" </wsdl:output>\n" +
" </wsdl:operation>\n" +
" <wsdl:operation name=\"voidMethod\">\n" +
" <soap:operation soapAction=\"http://test.se:8080/voidMethod\"/>\n" +
" <wsdl:input>\n" +
" <soap:body use=\"literal\" namespace=\"http://test.se:8080/voidMethod\"/>\n" +
" </wsdl:input>\n" +
" </wsdl:operation>\n" +
" </wsdl:binding>\n" +
" <wsdl:service name=\"MainSOAPClassService\">\n" +
" <wsdl:port name=\"MainSOAPClassPort\" binding=\"tns:MainSOAPClassBinding\">\n" +
" <soap:address location=\"example.com\"/>\n" +
" </wsdl:port>\n" +
" </wsdl:service>\n" +
"</wsdl:definitions>\n",
"\n" +
"<wsdl:definitions xmlns:wsdl=\"http://schemas.xmlsoap.org/wsdl/\" xmlns:soap=\"http://schemas.xmlsoap.org/wsdl/soap/\" xmlns:http=\"http://schemas.xmlsoap.org/wsdl/http/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap-enc=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:tns=\"http://test.se:8080/type\" targetNamespace=\"http://test.se:8080\">\n" +
" <wsdl:types>\n" +
" <xsd:schema targetNamespace=\"http://test.se:8080/type\">\n" +
" <xsd:complexType name=\"empty\">\n" +
" <xsd:sequence/>\n" +
" </xsd:complexType>\n" +
" <xsd:complexType name=\"ArrayOfstring\">\n" +
" <xsd:sequence>\n" +
" <xsd:element minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"element\" nillable=\"true\" type=\"xsd:string\"/>\n" +
" </xsd:sequence>\n" +
" </xsd:complexType>\n" +
" <xsd:complexType name=\"ArrayOfSpecialReturnClass\">\n" +
" <xsd:sequence>\n" +
" <xsd:element minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"element\" nillable=\"true\" type=\"tns:SpecialReturnClass\"/>\n" +
" </xsd:sequence>\n" +
" </xsd:complexType>\n" +
" <xsd:complexType name=\"SpecialReturnClass\">\n" +
" <xsd:sequence>\n" +
" <xsd:element name=\"otherValue1\" type=\"xsd:string\"/>\n" +
" <xsd:element name=\"otherName2\" type=\"xsd:string\"/>\n" +
" <xsd:element name=\"field2\" type=\"xsd:base64Binary\"/>\n" +
" <xsd:element name=\"field3\" type=\"tns:InnerClass\"/>\n" +
" </xsd:sequence>\n" +
" </xsd:complexType>\n" +
" <xsd:complexType name=\"InnerClass\">\n" +
" <xsd:sequence>\n" +
" <xsd:element name=\"field0\" type=\"xsd:string\"/>\n" +
" <xsd:element name=\"field1\" type=\"xsd:string\"/>\n" +
" </xsd:sequence>\n" +
" </xsd:complexType>\n" +
" </xsd:schema>\n" +
" </wsdl:types>\n" +
" <wsdl:message name=\"stringArrayMethodRequest\">\n" +
" <wsdl:part name=\"StringName\" type=\"xsd:string\"/>\n" +
" </wsdl:message>\n" +
" <wsdl:message name=\"stringArrayMethodResponse\">\n" +
" <wsdl:part name=\"stringArray\" type=\"td:ArrayOfstring\"/>\n" +
" </wsdl:message>\n" +
" <wsdl:message name=\"simpleReturnClassMethodRequest\">\n" +
" <wsdl:part name=\"byte\" type=\"xsd:string\"/>\n" +
" </wsdl:message>\n" +
" <wsdl:message name=\"simpleReturnClassMethodResponse\">\n" +
" <wsdl:part name=\"otherParam1\" type=\"xsd:string\"/>\n" +
" <wsdl:part name=\"param2\" type=\"xsd:string\"/>\n" +
" </wsdl:message>\n" +
" <wsdl:message name=\"exceptionMethodRequest\">\n" +
" <wsdl:part name=\"otherParam1\" type=\"xsd:int\" minOccurs=\"0\"/>\n" +
" <wsdl:part name=\"otherParam2\" type=\"xsd:int\" minOccurs=\"0\"/>\n" +
" </wsdl:message>\n" +
" <wsdl:message name=\"specialReturnMethodRequest\">\n" +
" <wsdl:part name=\"StringName2\" type=\"xsd:string\"/>\n" +
" </wsdl:message>\n" +
" <wsdl:message name=\"specialReturnMethodResponse\">\n" +
" <wsdl:part name=\"specialReturnClass\" type=\"td:ArrayOfSpecialReturnClass\"/>\n" +
" </wsdl:message>\n" +
" <wsdl:message name=\"empty\">\n" +
" <wsdl:part name=\"empty\" type=\"td:empty\"/>\n" +
" </wsdl:message>\n" +
" <wsdl:message name=\"exception\">\n" +
" <wsdl:part name=\"exception\" type=\"td:string\"/>\n" +
" </wsdl:message>\n" +
" <wsdl:portType name=\"MainSOAPClassPortType\">\n" +
" <wsdl:operation name=\"stringArrayMethod\">\n" +
" <wsdl:documentation>Documentation of stringArrayMethod()</wsdl:documentation>\n" +
" <wsdl:input message=\"tns:stringArrayMethodRequest\"/>\n" +
" <wsdl:output message=\"tns:stringArrayMethodResponse\"/>\n" +
" <wsdl:fault message=\"tns:exception\"/>\n" +
" </wsdl:operation>\n" +
" <wsdl:operation name=\"simpleReturnClassMethod\">\n" +
" <wsdl:documentation>null is the kala</wsdl:documentation>\n" +
" <wsdl:input message=\"tns:simpleReturnClassMethodRequest\"/>\n" +
" <wsdl:output message=\"tns:simpleReturnClassMethodResponse\"/>\n" +
" <wsdl:fault message=\"tns:exception\"/>\n" +
" </wsdl:operation>\n" +
" <wsdl:operation name=\"exceptionMethod\">\n" +
" <wsdl:documentation>Documentation of method exceptionMethod()</wsdl:documentation>\n" +
" <wsdl:input message=\"tns:exceptionMethodRequest\"/>\n" +
" </wsdl:operation>\n" +
" <wsdl:operation name=\"specialReturnMethod\">\n" +
" <wsdl:documentation>Documentation of specialReturnMethod()</wsdl:documentation>\n" +
" <wsdl:input message=\"tns:specialReturnMethodRequest\"/>\n" +
" <wsdl:output message=\"tns:specialReturnMethodResponse\"/>\n" +
" <wsdl:fault message=\"tns:exception\"/>\n" +
" </wsdl:operation>\n" +
" <wsdl:operation name=\"voidMethod\">\n" +
" <wsdl:documentation>void method documentation</wsdl:documentation>\n" +
" </wsdl:operation>\n" +
" </wsdl:portType>\n" +
" <wsdl:binding name=\"MainSOAPClassBinding\" type=\"tns:MainSOAPClassPortType\">\n" +
" <soap:binding style=\"rpc\" transport=\"http://schemas.xmlsoap.org/soap/http\"/>\n" +
" <wsdl:operation name=\"stringArrayMethod\">\n" +
" <soap:operation soapAction=\"http://test.se:8080/stringArrayMethod\"/>\n" +
" <wsdl:input>\n" +
" <soap:body use=\"literal\" namespace=\"http://test.se:8080/stringArrayMethod\"/>\n" +
" </wsdl:input>\n" +
" <wsdl:output>\n" +
" <soap:body use=\"literal\" namespace=\"http://test.se:8080/stringArrayMethod\"/>\n" +
" </wsdl:output>\n" +
" </wsdl:operation>\n" +
" <wsdl:operation name=\"simpleReturnClassMethod\">\n" +
" <soap:operation soapAction=\"http://test.se:8080/simpleReturnClassMethod\"/>\n" +
" <wsdl:input>\n" +
" <soap:body use=\"literal\" namespace=\"http://test.se:8080/simpleReturnClassMethod\"/>\n" +
" </wsdl:input>\n" +
" <wsdl:output>\n" +
" <soap:body use=\"literal\" namespace=\"http://test.se:8080/simpleReturnClassMethod\"/>\n" +
" </wsdl:output>\n" +
" </wsdl:operation>\n" +
" <wsdl:operation name=\"exceptionMethod\">\n" +
" <soap:operation soapAction=\"http://test.se:8080/exceptionMethod\"/>\n" +
" <wsdl:input>\n" +
" <soap:body use=\"literal\" namespace=\"http://test.se:8080/exceptionMethod\"/>\n" +
" </wsdl:input>\n" +
" </wsdl:operation>\n" +
" <wsdl:operation name=\"specialReturnMethod\">\n" +
" <soap:operation soapAction=\"http://test.se:8080/specialReturnMethod\"/>\n" +
" <wsdl:input>\n" +
" <soap:body use=\"literal\" namespace=\"http://test.se:8080/specialReturnMethod\"/>\n" +
" </wsdl:input>\n" +
" <wsdl:output>\n" +
" <soap:body use=\"literal\" namespace=\"http://test.se:8080/specialReturnMethod\"/>\n" +
" </wsdl:output>\n" +
" </wsdl:operation>\n" +
" <wsdl:operation name=\"voidMethod\">\n" +
" <soap:operation soapAction=\"http://test.se:8080/voidMethod\"/>\n" +
" <wsdl:input>\n" +
" <soap:body use=\"literal\" namespace=\"http://test.se:8080/voidMethod\"/>\n" +
" </wsdl:input>\n" +
" </wsdl:operation>\n" +
" </wsdl:binding>\n" +
" <wsdl:service name=\"MainSOAPClassService\">\n" +
" <wsdl:port name=\"MainSOAPClassPort\" binding=\"tns:MainSOAPClassBinding\">\n" +
" <soap:address location=\"example.com\"/>\n" +
" </wsdl:port>\n" +
" </wsdl:service>\n" +
"</wsdl:definitions>\n",
writer.write());
}
}