泛微OA Webservice SOAP协议_StringBuilder拼接请求协议案例

<?xml version="1.0" encoding="utf-8"?>

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soapenv:Body>
    <doCreateWorkflowRequest xmlns="webservices.services.weaver.com.cn">
      <in0>
        <ns1:creatorId xmlns:ns1="http://webservices.workflow.weaver">10</ns1:creatorId>
        <ns2:requestLevel xmlns:ns2="http://webservices.workflow.weaver">0</ns2:requestLevel>
        <ns3:requestName xmlns:ns3="http://webservices.workflow.weaver">质检不良率日报表通知单</ns3:requestName>
        <ns4:workflowBaseInfo xmlns:ns4="http://webservices.workflow.weaver">
          <ns4:workflowId>4</ns4:workflowId>
        </ns4:workflowBaseInfo>
        <ns5:workflowDetailTableInfos xmlns:ns5="http://webservices.workflow.weaver">
          <ns5:WorkflowDetailTableInfo>
            <ns5:workflowRequestTableRecords>
              <ns5:WorkflowRequestTableRecord>
                <ns5:workflowRequestTableFields>
                  <ns5:WorkflowRequestTableField>
                    <ns5:edit>true</ns5:edit>
                    <ns5:fieldName>zb</ns5:fieldName>
                    <ns5:fieldValue>1</ns5:fieldValue>
                    <ns5:view>true</ns5:view>
                  </ns5:WorkflowRequestTableField>
                  <ns5:WorkflowRequestTableField>
                    <ns5:edit>true</ns5:edit>
                    <ns5:fieldName>xsblxs</ns5:fieldName>
                    <ns5:fieldValue>2</ns5:fieldValue>
                    <ns5:view>true</ns5:view>
                  </ns5:WorkflowRequestTableField>
                  <ns5:WorkflowRequestTableField>
                    <ns5:edit>true</ns5:edit>
                    <ns5:fieldName>xsddxs</ns5:fieldName>
                    <ns5:fieldValue>3</ns5:fieldValue>
                    <ns5:view>true</ns5:view>
                  </ns5:WorkflowRequestTableField>
                  <ns5:WorkflowRequestTableField>
                    <ns5:edit>true</ns5:edit>
                    <ns5:fieldName>xsbll</ns5:fieldName>
                    <ns5:fieldValue>4</ns5:fieldValue>
                    <ns5:view>true</ns5:view>
                  </ns5:WorkflowRequestTableField>
                  <ns5:WorkflowRequestTableField>
                    <ns5:edit>true</ns5:edit>
                    <ns5:fieldName>zlblzl</ns5:fieldName>
                    <ns5:fieldValue>5</ns5:fieldValue>
                    <ns5:view>true</ns5:view>
                  </ns5:WorkflowRequestTableField>
                  <ns5:WorkflowRequestTableField>
                    <ns5:edit>true</ns5:edit>
                    <ns5:fieldName>zlddzl</ns5:fieldName>
                    <ns5:fieldValue>6</ns5:fieldValue>
                    <ns5:view>true</ns5:view>
                  </ns5:WorkflowRequestTableField>
                  <ns5:WorkflowRequestTableField>
                    <ns5:edit>true</ns5:edit>
                    <ns5:fieldName>zlbll</ns5:fieldName>
                    <ns5:fieldValue>7</ns5:fieldValue>
                    <ns5:view>true</ns5:view>
                  </ns5:WorkflowRequestTableField>
                  <ns5:WorkflowRequestTableField>
                    <ns5:edit>true</ns5:edit>
                    <ns5:fieldName>jsbljs</ns5:fieldName>
                    <ns5:fieldValue>8</ns5:fieldValue>
                    <ns5:view>true</ns5:view>
                  </ns5:WorkflowRequestTableField>
                  <ns5:WorkflowRequestTableField>
                    <ns5:edit>true</ns5:edit>
                    <ns5:fieldName>jsddjs</ns5:fieldName>
                    <ns5:fieldValue>9</ns5:fieldValue>
                    <ns5:view>true</ns5:view>
                  </ns5:WorkflowRequestTableField>
                  <ns5:WorkflowRequestTableField>
                    <ns5:edit>true</ns5:edit>
                    <ns5:fieldName>jsbll</ns5:fieldName>
                    <ns5:fieldValue>10</ns5:fieldValue>
                    <ns5:view>true</ns5:view>
                  </ns5:WorkflowRequestTableField>
                </ns5:workflowRequestTableFields>
              </ns5:WorkflowRequestTableRecord>
              <ns5:WorkflowRequestTableRecord>
                <ns5:workflowRequestTableFields>
                  <ns5:WorkflowRequestTableField>
                    <ns5:edit>true</ns5:edit>
                    <ns5:fieldName>zb</ns5:fieldName>
                    <ns5:fieldValue>1</ns5:fieldValue>
                    <ns5:view>true</ns5:view>
                  </ns5:WorkflowRequestTableField>
                  <ns5:WorkflowRequestTableField>
                    <ns5:edit>true</ns5:edit>
                    <ns5:fieldName>xsblxs</ns5:fieldName>
                    <ns5:fieldValue>2</ns5:fieldValue>
                    <ns5:view>true</ns5:view>
                  </ns5:WorkflowRequestTableField>
                  <ns5:WorkflowRequestTableField>
                    <ns5:edit>true</ns5:edit>
                    <ns5:fieldName>xsddxs</ns5:fieldName>
                    <ns5:fieldValue>3</ns5:fieldValue>
                    <ns5:view>true</ns5:view>
                  </ns5:WorkflowRequestTableField>
                  <ns5:WorkflowRequestTableField>
                    <ns5:edit>true</ns5:edit>
                    <ns5:fieldName>xsbll</ns5:fieldName>
                    <ns5:fieldValue>4</ns5:fieldValue>
                    <ns5:view>true</ns5:view>
                  </ns5:WorkflowRequestTableField>
                  <ns5:WorkflowRequestTableField>
                    <ns5:edit>true</ns5:edit>
                    <ns5:fieldName>zlblzl</ns5:fieldName>
                    <ns5:fieldValue>5</ns5:fieldValue>
                    <ns5:view>true</ns5:view>
                  </ns5:WorkflowRequestTableField>
                  <ns5:WorkflowRequestTableField>
                    <ns5:edit>true</ns5:edit>
                    <ns5:fieldName>zlddzl</ns5:fieldName>
                    <ns5:fieldValue>6</ns5:fieldValue>
                    <ns5:view>true</ns5:view>
                  </ns5:WorkflowRequestTableField>
                  <ns5:WorkflowRequestTableField>
                    <ns5:edit>true</ns5:edit>
                    <ns5:fieldName>zlbll</ns5:fieldName>
                    <ns5:fieldValue>7</ns5:fieldValue>
                    <ns5:view>true</ns5:view>
                  </ns5:WorkflowRequestTableField>
                  <ns5:WorkflowRequestTableField>
                    <ns5:edit>true</ns5:edit>
                    <ns5:fieldName>jsbljs</ns5:fieldName>
                    <ns5:fieldValue>8</ns5:fieldValue>
                    <ns5:view>true</ns5:view>
                  </ns5:WorkflowRequestTableField>
                  <ns5:WorkflowRequestTableField>
                    <ns5:edit>true</ns5:edit>
                    <ns5:fieldName>jsddjs</ns5:fieldName>
                    <ns5:fieldValue>9</ns5:fieldValue>
                    <ns5:view>true</ns5:view>
                  </ns5:WorkflowRequestTableField>
                  <ns5:WorkflowRequestTableField>
                    <ns5:edit>true</ns5:edit>
                    <ns5:fieldName>jsbll</ns5:fieldName>
                    <ns5:fieldValue>10</ns5:fieldValue>
                    <ns5:view>true</ns5:view>
                  </ns5:WorkflowRequestTableField>
                </ns5:workflowRequestTableFields>
              </ns5:WorkflowRequestTableRecord>
              <ns5:WorkflowRequestTableRecord>
                <ns5:workflowRequestTableFields>
                  <ns5:WorkflowRequestTableField>
                    <ns5:edit>true</ns5:edit>
                    <ns5:fieldName>zb</ns5:fieldName>
                    <ns5:fieldValue>1</ns5:fieldValue>
                    <ns5:view>true</ns5:view>
                  </ns5:WorkflowRequestTableField>
                  <ns5:WorkflowRequestTableField>
                    <ns5:edit>true</ns5:edit>
                    <ns5:fieldName>xsblxs</ns5:fieldName>
                    <ns5:fieldValue>2</ns5:fieldValue>
                    <ns5:view>true</ns5:view>
                  </ns5:WorkflowRequestTableField>
                  <ns5:WorkflowRequestTableField>
                    <ns5:edit>true</ns5:edit>
                    <ns5:fieldName>xsddxs</ns5:fieldName>
                    <ns5:fieldValue>3</ns5:fieldValue>
                    <ns5:view>true</ns5:view>
                  </ns5:WorkflowRequestTableField>
                  <ns5:WorkflowRequestTableField>
                    <ns5:edit>true</ns5:edit>
                    <ns5:fieldName>xsbll</ns5:fieldName>
                    <ns5:fieldValue>4</ns5:fieldValue>
                    <ns5:view>true</ns5:view>
                  </ns5:WorkflowRequestTableField>
                  <ns5:WorkflowRequestTableField>
                    <ns5:edit>true</ns5:edit>
                    <ns5:fieldName>zlblzl</ns5:fieldName>
                    <ns5:fieldValue>5</ns5:fieldValue>
                    <ns5:view>true</ns5:view>
                  </ns5:WorkflowRequestTableField>
                  <ns5:WorkflowRequestTableField>
                    <ns5:edit>true</ns5:edit>
                    <ns5:fieldName>zlddzl</ns5:fieldName>
                    <ns5:fieldValue>6</ns5:fieldValue>
                    <ns5:view>true</ns5:view>
                  </ns5:WorkflowRequestTableField>
                  <ns5:WorkflowRequestTableField>
                    <ns5:edit>true</ns5:edit>
                    <ns5:fieldName>zlbll</ns5:fieldName>
                    <ns5:fieldValue>7</ns5:fieldValue>
                    <ns5:view>true</ns5:view>
                  </ns5:WorkflowRequestTableField>
                  <ns5:WorkflowRequestTableField>
                    <ns5:edit>true</ns5:edit>
                    <ns5:fieldName>jsbljs</ns5:fieldName>
                    <ns5:fieldValue>8</ns5:fieldValue>
                    <ns5:view>true</ns5:view>
                  </ns5:WorkflowRequestTableField>
                  <ns5:WorkflowRequestTableField>
                    <ns5:edit>true</ns5:edit>
                    <ns5:fieldName>jsddjs</ns5:fieldName>
                    <ns5:fieldValue>9</ns5:fieldValue>
                    <ns5:view>true</ns5:view>
                  </ns5:WorkflowRequestTableField>
                  <ns5:WorkflowRequestTableField>
                    <ns5:edit>true</ns5:edit>
                    <ns5:fieldName>jsbll</ns5:fieldName>
                    <ns5:fieldValue>10</ns5:fieldValue>
                    <ns5:view>true</ns5:view>
                  </ns5:WorkflowRequestTableField>
                </ns5:workflowRequestTableFields>
              </ns5:WorkflowRequestTableRecord>
            </ns5:workflowRequestTableRecords>
          </ns5:WorkflowDetailTableInfo>
        </ns5:workflowDetailTableInfos>
        <ns6:workflowMainTableInfo xmlns:ns6="http://webservices.workflow.weaver">
          <ns6:requestRecords>
            <ns6:WorkflowRequestTableRecord>
              <ns6:workflowRequestTableFields>
                <ns6:WorkflowRequestTableField>
                  <ns6:edit>true</ns6:edit>
                  <ns6:fieldName>jgck</ns6:fieldName>
                  <ns6:fieldValue>寮步</ns6:fieldValue>
                  <ns6:view>true</ns6:view>
                </ns6:WorkflowRequestTableField>
                <ns6:WorkflowRequestTableField>
                  <ns6:edit>true</ns6:edit>
                  <ns6:fieldName>zjrq</ns6:fieldName>
                  <ns6:fieldValue>2022-02-08</ns6:fieldValue>
                  <ns6:view>true</ns6:view>
                </ns6:WorkflowRequestTableField>
              </ns6:workflowRequestTableFields>
            </ns6:WorkflowRequestTableRecord>
          </ns6:requestRecords>
        </ns6:workflowMainTableInfo>
      </in0>
      <in1>10</in1>
    </doCreateWorkflowRequest>
  </soapenv:Body>
</soapenv:Envelope>

java拼接soap xml请求协议

package xxxxx;

public class HttpClientOA {

    public static void main(String[] args) {
        
        String s = getRequestBody();
        
        System.out.println(s);
        
        

    }

    //拼接头部xml
    private static String getRequestHeader() {
        StringBuilder sb=new StringBuilder();
        sb.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
        sb.append("<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">");
        sb.append("<soapenv:Body>");
        sb.append("<doCreateWorkflowRequest xmlns=\"webservices.services.weaver.com.cn\">");
        sb.append("<in0>");
        sb.append("<ns1:creatorId xmlns:ns1=\"http://webservices.workflow.weaver\">10</ns1:creatorId>");
        sb.append("<ns2:requestLevel xmlns:ns2=\"http://webservices.workflow.weaver\">0</ns2:requestLevel>");
        sb.append("<ns3:requestName xmlns:ns3=\"http://webservices.workflow.weaver\">质检不良率日报表通知单</ns3:requestName>");
        sb.append("<ns4:workflowBaseInfo xmlns:ns4=\"http://webservices.workflow.weaver\">");
        sb.append("<ns4:workflowId>4</ns4:workflowId>");
        sb.append("</ns4:workflowBaseInfo>");
        return sb.toString();
    }

    //中间部分
    private static String getRequestBody() {
        StringBuilder sb=new StringBuilder();

        //头
        sb.append(getRequestHeader());
        sb.append("<ns5:workflowDetailTableInfos xmlns:ns5=\"http://webservices.workflow.weaver\">");
        sb.append("<ns5:WorkflowDetailTableInfo>");
        sb.append("<ns5:workflowRequestTableRecords>");

        //5条记录
        for(int i=0;i<5;i++)
        {
            sb.append("<ns5:WorkflowRequestTableRecord>");
            sb.append("<ns5:workflowRequestTableFields>");

            sb.append("<ns5:WorkflowRequestTableField>");
            sb.append("<ns5:edit>true</ns5:edit>");
            sb.append("<ns5:fieldName>zb</ns5:fieldName>");
            sb.append("<ns5:fieldValue>1</ns5:fieldValue>");
            sb.append("<ns5:view>true</ns5:view>");
            sb.append("</ns5:WorkflowRequestTableField>");

            sb.append("</ns5:workflowRequestTableFields>");
            sb.append("</ns5:WorkflowRequestTableRecord>");
        }


        sb.append("</ns5:workflowRequestTableRecords>");
        sb.append("</ns5:WorkflowDetailTableInfo>");
        sb.append("</ns5:workflowDetailTableInfos>");


        sb.append(getRequestFooter());

        return sb.toString();
    }

    //底部xml
    private static String getRequestFooter() {
        StringBuilder sb=new StringBuilder();
        
        sb.append("<ns6:workflowMainTableInfo xmlns:ns6=\"http://webservices.workflow.weaver\">");
        sb.append("<ns6:requestRecords>");
        sb.append("<ns6:WorkflowRequestTableRecord>");
        sb.append("<ns6:workflowRequestTableFields>");

        sb.append("<ns6:WorkflowRequestTableField>");
        sb.append("<ns6:edit>true</ns6:edit>");
        sb.append("<ns6:fieldName>jgck</ns6:fieldName>");
        sb.append("<ns6:fieldValue>寮步</ns6:fieldValue>");
        sb.append("<ns6:view>true</ns6:view>");
        sb.append("</ns6:WorkflowRequestTableField>");

        sb.append("<ns6:WorkflowRequestTableField>");
        sb.append("<ns6:edit>true</ns6:edit>");
        sb.append("<ns6:fieldName>zjrq</ns6:fieldName>");
        sb.append("<ns6:fieldValue>2022-02-08</ns6:fieldValue>");
        sb.append("<ns6:view>true</ns6:view>");
        sb.append("</ns6:WorkflowRequestTableField>");

        sb.append("</ns6:workflowRequestTableFields>");


        sb.append("</ns6:WorkflowRequestTableRecord>");
        sb.append("</ns6:requestRecords>");
        sb.append("</ns6:workflowMainTableInfo>");
        sb.append("</in0>");
        sb.append("<in1>10</in1>");
        sb.append("</doCreateWorkflowRequest>");
        sb.append("</soapenv:Body>");
        sb.append("</soapenv:Envelope>");
        
        return sb.toString();
    }
    
}

 

上一篇:String、StringBulider、StringBuffer的区别


下一篇:String、StringBuffer、StringBuilder