首页 文章

请求使用android改造的soap wcf webService

提问于
浏览
0

嗨大家如何请求用android改造实现这个肥皂请求,但我有400响应代码是否有任何方法来实现这与改造?

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<ActivityId CorrelationId="e5bbf878-4503-4010-aab5-b81d422b66ba" xmlns="http://schemas.microsoft.com/2004/09/ServiceModel/Diagnostics">f905b59e-f833-44cb-9760-3c6619dc8c6c</ActivityId>
</s:Header>
<s:Body>
    <QueryMessage xmlns="http://tempuri.org/">
        <messageSet xmlns:a="http://schemas.datacontract.org/2004/07/Sanay.Suip.Library" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
            <a:ActionId i:nil="true">?</a:ActionId>
            <a:Ip>::1</a:Ip>
            <a:Parameters>
                <a:Parameter>
                    <a:Name>Username</a:Name>
                    <a:Value i:type="b:string" xmlns:b="http://www.w3.org/2001/XMLSchema">tipex</a:Value>
                </a:Parameter>
                <a:Parameter>
                    <a:Name>Password</a:Name>
                    <a:Value i:type="b:string" xmlns:b="http://www.w3.org/2001/XMLSchema">123456</a:Value>
                </a:Parameter>

            </a:Parameters>
            <a:Title>Authenticate</a:Title>
            <a:Token>?</a:Token>
            <a:Username>tipex</a:Username>
        </messageSet>
    </QueryMessage>
</s:Body>

这是我的模特课

@Root(name = "s:Envelope")@Namespace(prefix = "s",reference =“http://schemas.xmlsoap.org/soap/envelope/”)

公共类信封{

@Element(name = "s:Body")
private Body body;

public Body getBody() {
    return body;
}

public void setBody(Body body) {
    this.body = body;
}

}

@Root(name = "x:Body")

公共舱体{

@Element(name = "QueryMessage")
private QueryMessage queryMessage;

public QueryMessage getQueryMessage() {
    return queryMessage;
}

public void setQueryMessage(QueryMessage queryMessage) {
    this.queryMessage = queryMessage;
}

}

@Root(name = "QueryMessage")

@Namespace(reference =“http://tempuri.org/”)

公共类QueryMessage {

@Element(name = "messageSet")
private MessageSet messageSet;

public MessageSet getMessageSet() {
    return messageSet;
}

public void setMessageSet(MessageSet messageSet) {
    this.messageSet = messageSet;
}

}

@Root (name = "messageSet")

@NamespaceList({@Namespace(prefix = "a",reference =“http://schemas.datacontract.org/2004/07/Sanay.Suip.Library "), @Namespace( prefix = " i ", reference = " http://www.w3.org/2001/XMLSchema-instance”)})

公共类MessageSet {

@Element(name = "ActionId",required = false)
private String actionId;

@Element(name = "Ip")
private String ip;

@ElementList (name = "Parameters")
private List<ModelParameter> modelParameterList;

@Element(name = "Title")
private String title;

@Element(name = "Token",required = false)
private String token;

@Element(name = "Username")
private String username;


public String getActionId() {
    return actionId;
}

public void setActionId(String actionId) {
    this.actionId = actionId;
}

public String getIp() {
    return ip;
}

public void setIp(String ip) {
    this.ip = ip;
}

public List<ModelParameter> getModelParameterList() {
    return modelParameterList;
}

public void setModelParameterList(List<ModelParameter> modelParameterList) {
    this.modelParameterList = modelParameterList;
}

public String getTitle() {
    return title;
}

public void setTitle(String title) {
    this.title = title;
}

public String getToken() {
    return token;
}

public void setToken(String token) {
    this.token = token;
}

public String getUsername() {
    return username;
}

public void setUsername(String username) {
    this.username = username;
}

}

@Root(name = "Parameter")

公共类ModelParameter {

@Element(name = "Name")
private String name;


@Element(name = "Value")
private String value;


public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getValue() {
    return value;
}

public void setValue(String value) {
    this.value = value;
}

}

this is my web service class

1 回答

  • 0

    你的 class 有很多错误 . 我已经修改和测试过 . 我能够将xml转换为对象 .

    信封类 .

    /**
     * Created by kbiradar on 7/26/2018.
     */
    
    @Root(name = "Envelope")
    @Order(elements = {"Header", "Body"})
    @Namespace(prefix = "s", reference = "http://schemas.xmlsoap.org/soap/envelope/")
    public class Envelope {
    
        @Element(name = "Header")
        @Namespace(prefix = "s", reference = "http://schemas.xmlsoap.org/soap/envelope/")
        private Header header;
    
        @Element(name = "Body")
        @Namespace(prefix = "s", reference = "http://schemas.xmlsoap.org/soap/envelope/")
        private Body body;
    
        public Body getBody() {
            return body;
        }
    
        public void setBody(Body body) {
            this.body = body;
        }
    
        public Header getHeader() {
            return header;
        }
    
        public void setHeader(Header body) {
            this.header = body;
        }
    }
    

    Headers 类 .

    /**
     * Created by kbiradar on 7/26/2018.
     */
    
    @Root(name = "Header", strict = false)
    public class Header {
    
        static class ActivityId
        {
            @Attribute
            String CorrelationId;
    
            @Text
            private String ActivityId;
        }
    
        @Element(name = "ActivityId")
        ActivityId ActivityId;
    }
    

    身体类 .

    /**
     * Created by kbiradar on 7/26/2018.
     */
    @Root(name = "Body", strict = false)
    public class Body {
    
        @Element(name = "QueryMessage")
        //@Namespace(prefix = "s", reference = "http://schemas.xmlsoap.org/soap/envelope/")
        @Namespace(reference = "http://tempuri.org/")
        private QueryMessage queryMessage;
    
        public QueryMessage getQueryMessage() {
            return queryMessage;
        }
    
        public void setQueryMessage(QueryMessage queryMessage) {
            this.queryMessage = queryMessage;
        }
    }
    

    QueryMessage类 .

    /**
     * Created by kbiradar on 7/26/2018.
     */
    
    @Root(name = "QueryMessage")
    public class QueryMessage {
    
        @Element(name = "messageSet")
        @NamespaceList({ @Namespace( prefix = "a", reference = "http://schemas.datacontract.org/2004/07/Sanay.Suip.Library"),
                @Namespace( prefix = "i", reference = "http://www.w3.org/2001/XMLSchema-instance") })
        private MessageSet messageSet;
    
        public MessageSet getMessageSet() {
            return messageSet;
        }
    
        public void setMessageSet(MessageSet messageSet) {
            this.messageSet = messageSet;
        }
    }
    

    MessageSet类 .

    /**
     * Created by kbiradar on 7/26/2018.
     */
    
    @Root(name = "messageSet")
    public class MessageSet {
    
        static class ActionId
        {
            @Attribute
            @Namespace(prefix = "i", reference = "http://www.w3.org/2001/XMLSchema-instance")
            String nil;
    
            @Text
            private String actionId;
        }
    
        @Element(name = "ActionId")
        @Namespace(prefix = "a", reference = "http://schemas.datacontract.org/2004/07/Sanay.Suip.Library")
        ActionId actionId;
    
        @Element(name = "Ip")
        @Namespace(prefix = "a", reference = "http://schemas.datacontract.org/2004/07/Sanay.Suip.Library")
        private String ip;
    
        @ElementList(name = "Parameters")
        @Namespace(prefix = "a", reference = "http://schemas.datacontract.org/2004/07/Sanay.Suip.Library")
        private List<ModelParameter> modelParameterList;
    
        @Element(name = "Title")
        @Namespace(prefix = "a", reference = "http://schemas.datacontract.org/2004/07/Sanay.Suip.Library")
        private String title;
    
        @Element(name = "Token",required = false)
        @Namespace(prefix = "a", reference = "http://schemas.datacontract.org/2004/07/Sanay.Suip.Library")
        private String token;
    
        @Element(name = "Username")
        @Namespace(prefix = "a", reference = "http://schemas.datacontract.org/2004/07/Sanay.Suip.Library")
        private String username;
    
    
        public String getActionId() {
            return actionId.actionId;
        }
    
        public void setActionId(String actionId) {
            this.actionId.actionId = actionId;
        }
    
        public String getIp() {
            return ip;
        }
    
        public void setIp(String ip) {
            this.ip = ip;
        }
    
        public List<ModelParameter> getModelParameterList() {
            return modelParameterList;
        }
    
        public void setModelParameterList(List<ModelParameter> modelParameterList) {
            this.modelParameterList = modelParameterList;
        }
    
        public String getTitle() {
            return title;
        }
    
        public void setTitle(String title) {
            this.title = title;
        }
    
        public String getToken() {
            return token;
        }
    
        public void setToken(String token) {
            this.token = token;
        }
    
        public String getUsername() {
            return username;
        }
    
        public void setUsername(String username) {
            this.username = username;
        }
    }
    

    消息参数类 .

    /**
     * Created by kbiradar on 7/26/2018.
     */
    
    @Root(name = "Parameter")
    @Namespace(prefix = "a", reference = "http://schemas.datacontract.org/2004/07/Sanay.Suip.Library")
    public class ModelParameter {
    
    
        static class value
        {
            @Attribute
            @Namespace(prefix = "i", reference = "http://www.w3.org/2001/XMLSchema-instance")
            String type;
    
            @Text
            private String value;
        }
    
        @Element(name = "Name")
        @Namespace(prefix = "a", reference = "http://schemas.datacontract.org/2004/07/Sanay.Suip.Library")
        private String name;
    
    
        @Element(name = "Value")
        @Namespace(prefix = "a", reference = "http://schemas.datacontract.org/2004/07/Sanay.Suip.Library")
        @NamespaceList({@Namespace(prefix = "a", reference = "http://schemas.datacontract.org/2004/07/Sanay.Suip.Library"),
        @Namespace(prefix = "b", reference = "http://www.w3.org/2001/XMLSchema")})
        private value value;
    
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getValue() {
            return value.value;
        }
    
        public void setValue(String value) {
            this.value.value = value;
        }
    }
    

相关问题