Была такая же проблема, но ни один из ответов на самом деле не решил вопрос.
Я пытался запросить узлы операций ВНУТРИ узла portType WSDL, учитывая, что узел привязки также имеет операции.
<portType name="MyService">
<operation name="op1">
<input wsam:Action="http://somedomain.org/MyService/MyServiceRequest" message="tns:MyServiceRequest"/>
<output wsam:Action="http://somedomain.org/MyService/MyServiceResponse" message="tns:MyServiceResponse"/>
</operation>
...
</portType>
<binding name="MyServicePortBinding" type="tns:MyService">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
<operation name="op1">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
Решил, найдя родителя (portTypes) и просто приведя его от узла к элементу и используя метод, названный выше.
Node portType = document.getElementsByTagName("portType").item(0);
NodeList operations = ((Element)portType).getElementsByTagName("operation");
Это дало мне в результате только элементы операции INSIDE portType Node.