// Path: app/src/main/java/com/asanchezyu/retrofitsoap/api/model/request/UsStatesRequestEnvelope.java
// @Root(name = "soap12:Envelope")
// @NamespaceList({
//         @Namespace( prefix = "xsi", reference = "http://www.w3.org/2001/XMLSchema-instance"),
//         @Namespace( prefix = "xsd", reference = "http://www.w3.org/2001/XMLSchema"),
//         @Namespace( prefix = "soap12", reference = "http://www.w3.org/2003/05/soap-envelope")
// })
// public class UsStatesRequestEnvelope {
// 
//     @Element(name = "soap12:Body", required = false)
//     private UsStatesRequestBody body;
// 
//     public UsStatesRequestBody getBody() {
//         return body;
//     }
// 
//     public void setBody(UsStatesRequestBody body) {
//         this.body = body;
//     }
// }
// 
// Path: app/src/main/java/com/asanchezyu/retrofitsoap/api/model/response/UsStatesResponseEnvelope.java
// @Root(name = "soap12:Envelope")
// @NamespaceList({
//         @Namespace( prefix = "xsi", reference = "http://www.w3.org/2001/XMLSchema-instance"),
//         @Namespace( prefix = "xsd", reference = "http://www.w3.org/2001/XMLSchema"),
//         @Namespace( prefix = "soap12", reference = "http://www.w3.org/2003/05/soap-envelope")
// })
// public class UsStatesResponseEnvelope {
// 
//     @Element(required = false, name = "Body")
//     private UsStatesResponseBody body;
// 
//     public UsStatesResponseBody getBody() {
//         return body;
//     }
// 
//     public void setBody(UsStatesResponseBody body) {
//         this.body = body;
//     }
// }


import com.asanchezyu.retrofitsoap.api.model.request.UsStatesRequestEnvelope;
import com.asanchezyu.retrofitsoap.api.model.response.UsStatesResponseEnvelope;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.Headers;
import retrofit2.http.POST;
/*
 * Copyright 2016. Alejandro Sánchez
 *
 * 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 com.asanchezyu.retrofitsoap.api;



/**
 * Class Description.
 *
 * @author asanchezyu@gmail.com.
 * @version 1.0.
 * @since 15/6/16.
 */
public interface UsStatesApi {

    @Headers({
            "Content-Type: text/xml",
            "Accept-Charset: utf-8"
    })
    @POST("/uszip.asmx")
// Path: app/src/main/java/com/asanchezyu/retrofitsoap/api/model/request/UsStatesRequestEnvelope.java
// @Root(name = "soap12:Envelope")
// @NamespaceList({
//         @Namespace( prefix = "xsi", reference = "http://www.w3.org/2001/XMLSchema-instance"),
//         @Namespace( prefix = "xsd", reference = "http://www.w3.org/2001/XMLSchema"),
//         @Namespace( prefix = "soap12", reference = "http://www.w3.org/2003/05/soap-envelope")
// })
// public class UsStatesRequestEnvelope {
// 
//     @Element(name = "soap12:Body", required = false)
//     private UsStatesRequestBody body;
// 
//     public UsStatesRequestBody getBody() {
//         return body;
//     }
// 
//     public void setBody(UsStatesRequestBody body) {
//         this.body = body;
//     }
// }
// 
// Path: app/src/main/java/com/asanchezyu/retrofitsoap/api/model/response/UsStatesResponseEnvelope.java
// @Root(name = "soap12:Envelope")
// @NamespaceList({
//         @Namespace( prefix = "xsi", reference = "http://www.w3.org/2001/XMLSchema-instance"),
//         @Namespace( prefix = "xsd", reference = "http://www.w3.org/2001/XMLSchema"),
//         @Namespace( prefix = "soap12", reference = "http://www.w3.org/2003/05/soap-envelope")
// })
// public class UsStatesResponseEnvelope {
// 
//     @Element(required = false, name = "Body")
//     private UsStatesResponseBody body;
// 
//     public UsStatesResponseBody getBody() {
//         return body;
//     }
// 
//     public void setBody(UsStatesResponseBody body) {
//         this.body = body;
//     }
// }


// Path: app/src/main/java/com/asanchezyu/retrofitsoap/api/UsStatesApi.java
import com.asanchezyu.retrofitsoap.api.model.request.UsStatesRequestEnvelope;
import com.asanchezyu.retrofitsoap.api.model.response.UsStatesResponseEnvelope;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.Headers;
import retrofit2.http.POST;

/*
 * Copyright 2016. Alejandro Sánchez
 *
 * 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 com.asanchezyu.retrofitsoap.api;



/**
 * Class Description.
 *
 * @author asanchezyu@gmail.com.
 * @version 1.0.
 * @since 15/6/16.
 */
public interface UsStatesApi {

    @Headers({
            "Content-Type: text/xml",
            "Accept-Charset: utf-8"
    })
    @POST("/uszip.asmx")
    Call<UsStatesResponseEnvelope> requestStateInfo(@Body UsStatesRequestEnvelope body);